"C://test/test/test.png" -> blub
blub = blub.Replace(@"/", @"\");
result = "C:\\\\test\\test\\test.png"
Run Code Online (Sandbox Code Playgroud)
这有什么意义?它取代了一个/两个\
?
它实际上工作:
string blub = "C://test/test/test.png";
string blub2 = blub.Replace(@"/", @"\");
Console.WriteLine(blub);
Console.WriteLine(blub2);
Run Code Online (Sandbox Code Playgroud)
输出:
C://test/test/test.png
C:\\test\test\test.png
Run Code Online (Sandbox Code Playgroud)
但是在调试器中查看字符串确实会显示您描述的效果(以及如何在没有@的代码中编写字符串文字).
我之前注意到了这一点,但从未发现为什么调试器会选择这种格式.
不,它没有.
您所看到的是根据C#规则正确格式化的字符串,并且由于您看到的输出显示为没有为@字符添加前缀,因此每个反斜杠都会加倍,因为这就是您需要的如果你想要那首字符串,请写.
创建一个新的控制台应用程序并将结果写入控制台,您将看到字符串看起来像您想要的那样.
所以这只是你如何看待字符串的一个神器(我假设调试器).
| 归档时间: |
|
| 查看次数: |
244 次 |
| 最近记录: |