一、字符串中的用法
字符@表示,其后的字符串是个“逐字字符串”(verbatim string)。
@只能对字符串常量作用。
1、用于文件路径
以下是引用片段: string s_FilePath ="C:Program FilesMicrosoft.NETtest.txt"; |
相当于
以下是引用片段: string s_FilePath =@"C:Program FilesMicrosoft.NETtest.txt"; |
2、用@表示的字符串能够跨越数行。用于在CS中写JS或SQL代码比较方便。
以下是引用片段: string s_MultiRows = @"Line1 Line2 Line3"; string s_JavaScript = @" ";
|
二、标识符中的用法
在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#中作为保留关键字,但是在其他语言中也许不是。