RRM*_*RRM 9 c# string escaping
请原谅我一个初学者的问题:)
string S="abc";
S+="\";
Run Code Online (Sandbox Code Playgroud)
不会卷曲.
string S="abc";
S+="\\";
Run Code Online (Sandbox Code Playgroud)
会使S ="abc \\"
我怎样才能使S ="abc"?
Jon*_*eet 14
你的第二段代码是你想要的(或者@"\"其他人建议的逐字字符串文字),它只添加一个反斜杠 - 将它打印到控制台,你会看到它.
这两段代码:
S += "\\";
Run Code Online (Sandbox Code Playgroud)
和
S += @"\";
Run Code Online (Sandbox Code Playgroud)
是正好相等.在这两种情况下,都会附加一个反斜杠1.
我怀疑你对调试器视图感到困惑,调试器视图会转义反斜杠(以及其他一些字符).即使使用调试器,您也可以通过查看来验证,S.Length您将看到它是4而不是5.
1请注意,它不会更改现有字符串中的数据,但会设置S引用新字符串的值,该字符串由包含末尾反斜杠的原始字符串组成..NET中的字符串对象是不可变的 - 但这是一个完整的其他主题......
试试这个:
String S = "abc";
S += @"\";
Run Code Online (Sandbox Code Playgroud)
@ =逐字字符串文字
http://msdn.microsoft.com/en-us/library/aa691090%28v=vs.71%29.aspx
http://msdn.microsoft.com/en-us/library/vstudio/362314fe.aspx
| 归档时间: |
|
| 查看次数: |
26251 次 |
| 最近记录: |