string value1 = File.ReadAllText("C:\\file.txt");
string value2 = File.ReadAllText(@"C:\file.txt");
Run Code Online (Sandbox Code Playgroud)
在上面的陈述中,使用@"C:\ file.txt" 和C:\ file.txt的区别是什么时候
编译器会按原样读取@"C:\ file.txt".删除逐字(@)将使它将'\ f'视为单个转义字符(换页符).换一种说法:
@"C:\file.txt" == "C:\\file.txt"
@"C:\file.txt" != "C:\file.txt" // treated as C: + FormFeed + ile.txt
Run Code Online (Sandbox Code Playgroud)
逐字字符串文字以@开头,也用双引号括起来.例如:
Run Code Online (Sandbox Code Playgroud)@"good morning" // a string literal逐字字符串的优点是不处理转义序列,这使得编写起来很容易,例如,完全限定的文件名:
Run Code Online (Sandbox Code Playgroud)@"c:\Docs\Source\a.txt" // rather than "c:\\Docs\\Source\\a.txt"
常规字符串文字由用双引号括起来的零个或多个字符组成,如"hello"中所示,并且可以包括简单转义序列(例如用于制表符的\ t)和十六进制和Unicode转义序列.
逐字字符串文字由@字符后跟双引号字符,零个或多个字符以及结束双引号字符组成.一个简单的例子就是@"你好".在逐字字符串文字中,分隔符之间的字符是逐字解释的,唯一的例外是quote-escape-sequence.特别是,简单的转义序列和十六进制和Unicode转义序列不会在逐字字符串文字中处理.逐字字符串文字可以跨越多行.
| 归档时间: |
|
| 查看次数: |
166 次 |
| 最近记录: |