1、让字符串跨行
有时候一个字符串写在一行中会很长(比如SQL语句),不使用@符号,一种写法是这样的:
stringstrSQL = "SELECT * FROM HumanResources.Employee AS e"
+ " INNER JOIN Person.Contact AS c"
+ " ON e.ContactID = c.ContactID"
+ " ORDER BY c.LastName";
加上@符号后就可以直接换行了:
stringstrSQL = @"SELECT * FROM HumanResources.Employee AS e
INNER JOIN Person.Contact AS c
ON e.ContactID = c.ContactID
ORDER BY c.LastName";
而且这数行之内的空白字符(White Space)都会保留在字符串里。
这样便能允许存储和生成带有格式的文本块。
如:
string strText = @"Line1
Line2
Line3";
有意思的是如果在VS.NET2003中当你输入完第一行(string strText =@"Line1)换行后,光标会自动到第二行最开头 ^_^。很智能化、人性化的判断。
2、用 @ 符号加在字符串前面表示其中的转义字符“不”被处理。
对于逐字字符串字面变量(verbatimstring literal ),我们不再需要使用"转义序列"就可以指定反斜线之类的特殊字符。@的这个特点使得在表示文件路径时很方便。
如:
stringstr = @"C:/Test.txt";
3、在标识符中的用法
C#是不允许关键字作为标识符(类名、变量名、方法名、表空间名等)使用的,但如果加上@之后就可以了
4、特殊情况
如果"转义序列"(/)在字符串中"失效",那么想包含一个双引号("),
在双引号之前再加一个双引号即可。
如:
string str =@"""Great!""Said Allen Lee"。