一 字符串中的用法
字符@表示,其后的字符串是個“逐字字符串”(verbatim string)。
@只能對字符串常量作用。
1.用於文件路徑
string s_FilePath ="C:\\Program Files\\Microsoft.NET\\test.txt";
相當於
string s_FilePath =@"C:\Program Files\Microsoft.NET\test.txt";
@是取消字符串中的轉意符。比如不加@的字符串,"\\a\n"C#會解釋成一個\和一個a再加一個換行,如果加了@,@"\\a\n“ 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# 中作為保留關鍵字,但是在其他語言中也許不是。