@符号在下面的含义是什么 - Class.Field = @“你的文字在这里”; -

时间:2010-10-07 18:14:34

标签: c#

  

可能重复:
  what does “@” means in c#

@符号@的含义如下:

Class.Field = @“你的文字在这里”;

我在一段代码中遇到了这个问题,编译器似乎没有抱怨......我一直在搜索无效...

@是什么意思?

4 个答案:

答案 0 :(得分:9)

它表示逐字字符串文字。您可以使用它,因此转义不会被视为:

string path = "C:\\Documents and Settings\\UserName\\My Documents";

变为:

string path = @"C:\Documents and Settings\UserName\My Documents";

答案 1 :(得分:4)

您可以执行类似

的操作
@"C:\temp\testfile.txt"

没有@你需要做

"C:\\temp\\testfile.txt"

此外,它还可以帮助您处理应该代表XML的其他更复杂的字符串。

你需要双重写的只有一件事是“本身。

所以,@"Tom said ""Hello!""";

答案 2 :(得分:0)

这是一个简短的手,因此不需要\来逃避反斜杠。

在正则表达式中,它非常有用,因为Regex非常依赖反斜杠字符。使用@符号时,您需要转义的唯一字符是双引号,并使用第二个双引号(al VB)进行转义。所有其他字符都是字面意思。

(目录路径是受益于@的另一种字符串形式)

在您的示例中,@是不必要的。

答案 3 :(得分:0)

它告诉编译器不要将反斜杠字符视为转义序列。