日期:2014-05-20  浏览次数:20785 次

请问,这个转义字符如何理解
string text = @"我爱""萧蔷""";
string text2 = "我爱\"萧蔷\"";  
Console.WriteLine(text2);
输出结果都是:我爱"萧蔷"
第二句能理解,"符号,被转义了,变成了真正的引号。那第一句怎么理解呢?@符号不是说,其后面的转义按不转义计算吗?后面没有转义的啊?


------解决方案--------------------
在@的字符串中,双引号用""表示,因为加了@你就无法用\"来转义双引号了
------解决方案--------------------
用@就不要用转意了
http://topic.csdn.net/u/20071129/15/CCB7FD94-5663-48F4-B4C0-E261CB782043.html#r_46233136
------解决方案--------------------
那第一句怎么理解呢?@符号不是说,其后面的转义按不转义计算吗?后面没有转义的啊?
----------------
在第一句中 " 就是转义符 "" 输出就是"
------解决方案--------------------
@字符串中的"怎么处理呢,就是用""来转义了。

否则下面的字符串会认为是"我爱" 后面就出错了。

"我爱""萧蔷"""


------解决方案--------------------
萧蔷都40多了...

ps:这么基础的问题去看MSDN去...双引号是特殊字符,你眼睛看到的跟计算机处理的不一样...
------解决方案--------------------
萧蔷还没林志玲好!!
------解决方案--------------------
如果我想真正得到一个格式的字符串,就把这个字符串原样放在两个双引号之间,并且在最前面加上一个@符号,这样,两个引号之间是什么样格式的字符串,最后得到的就是这个样子的字符串
-------------------------------

这个说法是不完整的,也可以说是错误的。

@ 非转义序列 就是会忽略转义符

所以 string path=@"C:\MyDocuments\" 中的\ 会被正确输出


------解决方案--------------------
探讨
萧蔷还没林志玲好!!

------解决方案--------------------
@"""萧蔷""" 输出"萧蔷"