转 C# 中@符号在字符串中的作用

@符号是特殊而又实用的C#符号。

 

比如它在string中的应用。

 

1

字符@表示,其后的字符串是个“逐字字符串”(verbatim string)。 // 这个说法来自C# Primer 中文版(Stanley B. Lippman, 侯捷/陈硕合译)

 

2

对于逐字字符串字面变量(verbatim string literal ),我们不再需要使用“转义序列”就可以指定反斜线之类的特殊字符。@的这个特点使得在表示文件路径时很方便。

如:

string str = @"C:\Test.txt";

 

3

另外一点,用@表示的字符串能够跨越数行。这数行之内的空白字符(White Space)都会保留在字符串里。

这样便能允许存储和生成带有格式的文本块。

如:

string strText = @"Line1

Line2

Line3";

有意思的是如果在VS.NET2003中当你输入完第一行(string strText = @"Line1换行后,光标会自动到第二行最开头 ^_^。很智能化、人性化的判断。

 

4

不知道大家在最初看到@的功能时有没有想,如果“转义序列”(\)在字符串中“失效”,那么想包含一个双引号(",怎么办?我找到了答案。

方法很简单。在双引号之前再加一个双引号即可。

如:

string str = @"""Great!""Said Allen Lee";

posted @ 2007-12-28 11:46  Salesforce  阅读(1764)  评论(0编辑  收藏  举报