一 字符串中的用法
字符@表示,其后的字符串是个“逐字字符串”(verbatim string)。
@只能对字符串常量作用。
1.用于文件路径
string s_FilePath ="C:\Program Files\Microsoft.NET\test.txt";
相当于
string s_FilePath =@"C:Program FilesMicrosoft.NET est.txt";
@是取消字符串中的转意符。比如不加@的字符串,"\a "C#会解释成一个和一个a再加一个换行,如果加了@,@"\a “ C#会解释成两个加一个a加一个加一个n。
2.用@表示的字符串能够跨越数行。用于在CS中写JS或SQL代码比较方便。
string s_MultiRows = @"Line1
Line2
Line3";
string s_JavaScript = @"
<script type=""type/javascript"">
function doSomething()
{
}
</script>";
二 标识符中的用法
在 C# 规范中, @ 可以作为标识符(类名、变量名、方法名等)的第一个字符,以允许C# 中保留关键字作为自己定义的标识符。
如
class @class
{
public static void @static(bool @bool) {
if (@bool)
System.Console.WriteLine("true");
else
System.Console.WriteLine("false");
}
}
class Class1
{
static void M() {
clu0061ss.stu0061tic(true);
}
}
注意,@ 虽然出现在标识符中,但不作为标识符本身的一部分。
因此,以上示例,定义了一个名为 class 的类,并包含一个名为 static 的方法,以及一个参数名为了 bool 的形参。
这样,对于跨语言的移植带来了便利。因为,某个单词在 C# 中作为保留关键字,但是在其他语言中也许不是。