C#在一个字符串前面加上什么符号可以使字符串中的转义字符不被处理?
string str = @"C:\Program Files" 和 string str = "C:\\Program Files" 是等效的
加了 @符号,string str = @"C:\Program Files"中的转义字符 \ 就不需要转换,直接视为字符串的一部分。
不加@符号,string str = "C:\\Program Files"中转义字符 \ 就必须要在加个 \ 才能表示 \
(在C#里面 \\ 才在字符串里表示 \ )
转义字符 :
所有的ASCII码都可以用"\"加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
字符型常量所表示的值是字符型变量所能包含的值。我们可以用ASCII表达式来表示一个字符型常量,或者用单引号内加反斜杠表示转义字符。
'A', '\x2f', '\013';
其中:\x表示后面的字符是十六进制数,\表示后面的字符是八进制数。例如十进制的17用十六进制表示就是
'\x11',用八进制表示就是'\21';
注意:在Turbo C 2.0中,字符型常量表示数的范围是-128到127,除非你把它声明为unsigned,这样就是0到255。
上面我们见到的\x,\n,\a等等都是叫转义字符,它告诉编译器需要用特殊的方式进行处理。