从 ReSharper,我知道
var v = @"something";
使 v 称为逐字字符串。这是什么以及使用它的常见场景是什么?
在逐字字符串中,转义序列(例如"\n"
换行符)将被忽略。这有助于您键入包含反斜杠的字符串。
字符串也可以扩展到多行,例如:
var s = @"
line1
line2";
该字符串的显示方式与您在源代码中键入的方式相同,带有换行符,因此您不必担心缩进、换行等。
要在逐字文字中使用引号,只需将它们加倍:
@"This is a string with ""quotes""."
这意味着不需要转义特殊字符,因为您通知编译器期望特殊字符并忽略它们。一个常见的用例可能是指定一个连接字符串:
string sqlServer = @"SERVER01\SQL";
这是完全有效的,而不是在正常使用中反斜杠被视为转义字符。