C#中@的三种用法

1. 忽略转义字符

例如

1
string fileName = "D:\\文本文件\\text.txt";

使用@后

1
string fileName = @"D:\文本文件\text.txt";

2. 让字符串跨行

例如

1
2
3
4
string strSQL = "SELECT * FROM HumanResources.Employee AS e"
+ " INNER JOIN Person.Contact AS c"
+ " ON e.ContactID = c.ContactID"
+ " ORDER BY c.LastName";

使用@后

1
2
3
4
string strSQL = @"SELECT * FROM HumanResources.Employee AS e
INNER JOIN Person.Contact AS c
ON e.ContactID = c.ContactID
ORDER BY c.LastName";

3. 在标识符中的用法

C#是不允许关键字作为标识符(类名、变量名、方法名、表空间名等)使用的,但如果加上@之后就可以了,例如

1
2
3
4
5
6
7
8
9
public static void @static(int @int) {
if (@int > 0) {
System.Console.WriteLine("Positive Integer");
} else if (@int == 0) {
System.Console.WriteLine("Zero");
} else {
System.Console.WriteLine("Negative Integer");
}
}