string text = @"我爱""萧蔷""";
string text2 = "我爱\"萧蔷\"";
Console.WriteLine(text2);
输出结果都是:我爱"萧蔷"
第二句能理解,"符号,被转义了,变成了真正的引号。那第一句怎么理解呢?@符号不是说,其后面的转义按不转义计算吗?后面没有转义的啊?
string text2 = "我爱\"萧蔷\"";
Console.WriteLine(text2);
输出结果都是:我爱"萧蔷"
第二句能理解,"符号,被转义了,变成了真正的引号。那第一句怎么理解呢?@符号不是说,其后面的转义按不转义计算吗?后面没有转义的啊?
http://topic.csdn.net/u/20071129/15/CCB7FD94-5663-48F4-B4C0-E261CB782043.html#r_46233136
如果我想真正得到一个格式的字符串,就把这个字符串原样放在两个双引号之间,并且在最前面加上一个@符号,这样,两个引号之间是什么样格式的字符串,最后得到的就是这个样子的字符串
比如:
表示路径
string path=@"C:\MyDocuments\"
这样,就能得到C:\MyDocuments\
那上面的例子,我觉得该这样写啊:
@"我爱"萧蔷""; //两个双引号之间是:我爱"萧蔷"
就得到:我爱"萧蔷"
为什么不对呢?
而楼上说的" 就是转义符 "" ,更是不懂,转义不是\开头吗?
-------------------------------这个说法是不完整的,也可以说是错误的。@ 非转义序列 就是会忽略转义符所以 string path=@"C:\MyDocuments\" 中的\ 会被正确输出
这个说法那可能会这样写
string text = @"我爱"萧蔷"";但很明显连语法检查都过不去。