2017-01-30 120 views
-2

用c中的字符串中的“/”替换所有出现的“\”的最佳方式是什么?用正斜杠替换所有黑斜杠

我试过以下选项,但都没有工作。

  • variable.Replace(“\”,“/”);
  • variable.Replace(@“\”,@“/”);

谢谢。

+2

在.NET中,[字符串是不可变(https://stackoverflow.com/questions/2365272/why-net-string-is-immutable)。 –

+0

你必须分配结果 – Jonesopolis

+1

欢迎来到Stack Overflow。请阅读[问]并分享你的研究。 – CodeCaster

回答

4

您应该指定更换的结果是:

var res = variable. Replace("\\", "/"); // you need "\\" because "\" is escape symbol. 

var res = variable.Replace(@"\", "/"); 
+0

'“\”'不会编译。 –

+2

这里:https://stackoverflow.com/posts/41935234/revisions –

+0

@UweKeim,对不起,我在编辑答案,当你留下评论 –

2

正如@UweKeim说,在评论,你必须存储Replace调用的结果。像这样:

variable = variable.Replace("@"\", @"/"); 
2
var newVar = variable.Replace("\\", "/"); 
+0

这将不会编译。 –

+0

但是这会...'var newVar = variable.Replace(“\\”,“/”); ' – Wudge

+0

为什么不能编译? – Ben