C# 字面值 字符串字面值
字符串宇面值的转义序列
转义序列 | 产生的字符 | 字符的Unicode值 |
V | 单引号 | 0x0027 |
\" | 双引号 | 0x0022 |
\\ | 反斜杠 | OxOOSC |
\0 | null | 0x0000 |
\a | 窖告(产生蜂鸣) | 0x0007 |
\b | 退格 | 0x0008 |
\f | 换页 | OxOOOC |
\n | 换行 | OxOOOA |
\r | 回车 | 0x0000 |
\t | 水平制表符 | 0x0009 |
\v | 垂直制表符 | OxOOOB |
表中的“字符的Unicode值”列是字符在Unicode字符集中的十六进制值。除了上面这些,还可以使 用Unicode转义序列指定其他任何Unicode字符,该转义序列包括标准的\字符,后跟一个u和一个4位十六进 制值(例如,表中x后面的4位数字)。
下面的字符串是等价的:
"BenjaminX1s string,"
"Benjamin\u0027s string."
显然,Unicode转义序列还有更多用途。
也可以一字不变地指定字符串,即两个双引号之间的所有字符都包含在字符串中,包括行末字符和原本需 要转义的字符。唯一的例外是必须指定双引号字符的转义序列,以免结束字符串。这种方法需要在字符串之前 加一个@字符:
©"Verbatim string literal•"
也可以用普通方式指定这个字符串,但下面的字符串就必须使用@字符:
@"A short list: item 1 item 2"
一字不变的字符串在文件名中非常有用,因为文件名中大量使用了反斜杠字符。如果使用一般字符串,就 必须在字符串中使用两个反斜杠,例如:
MC: \\Temp\\MyDirWMyFile.doc"
而有了一字不变的字符串字面值,这段代码就更便于阅读。下面的字符串与上面的等价:
@MC:\Temp\MyDir\MyFile.doc"
点击加载更多评论>>