"@"在c#中的含义是什么

Mik*_*ike 18 c#

可能重复:
何时在c#中使用@?

string sqlSelect = @"SELECT * FROM Sales".

Sar*_*raz 33

这意味着将以下字符串解释为文字.意思是,\字符串中的实际上将是"\"输出中的一个,而不是"\\"必须表示文字字符

  • 你的斜杠混乱了.否则我最喜欢你的答案. (2认同)

Ser*_*jev 21

在字符串之前它允许不同的字符串格式化规则 您不能使用反斜杠指定特殊符号和""(双引号成为引号).我发现这种格式对正则表达式非常有用

Console.WriteLine(@"\n""\/a"); // outputs \n"\/a 
Console.WriteLine("\\n\"\"\\/a"); // outputs \n"\/a
Run Code Online (Sandbox Code Playgroud)

您可能还会在变量前看到@符号.在这种情况下,它允许使用特殊的C#关键字作为变量.

例:

var @switch = 1;
var @if = "test";
Run Code Online (Sandbox Code Playgroud)


log*_*cnp 5

这意味着不需要在这样的字符串中转义字符.

因此,如果要编写c:\ Windows的路径,可以将其写为

string path = "c:\\Windows";  // Note escaped '\'
Run Code Online (Sandbox Code Playgroud)

要么

string path = @"c:\Windows";  // '\' need not be escaped
Run Code Online (Sandbox Code Playgroud)