如何在C#中将\符号添加到字符串的末尾

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中的字符串对象是不可变的 - 但这是一个完整的其他主题......