字符串替换不替换所有实例

Jam*_*ken -1 c#

在Visual Studio 13中使用C# - 我正在尝试使用replace命令替换字符串中的一些斜杠.VS工具提示告诉我,"返回一个新字符串,其中此实例中所有出现的指定Unicode字符都被另一个指定的Unicode字符替换"

我的字符串作为参数传入:

path = "\\\\ServerName\\Folder1\\Folder2"
Run Code Online (Sandbox Code Playgroud)

我创建了一个新字符串:

string newPath = path.Replace(@"\\", @"//");
Run Code Online (Sandbox Code Playgroud)

根据工具提示,它应该用//替换\\的所有实例,但是我得到的字符串是:

"//\\ServerName\\Folder1\\Folder2"
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?这对我来说似乎很直接,或者我想.

我想要得到的是:

"////服务器名// // Folder1中文件夹2"

Cod*_*ter 6

你的输出将是//ServerName\Folder2\Folder2,因为只有一个实际出现的两个反斜杠,即在开头\\ServerName.

在检查字符串的值时,调试器将单个反斜杠(\)显示为两个(\\),但在替换时,您要替换一个:

string newPath = path.Replace(@"\", @"/");
Run Code Online (Sandbox Code Playgroud)

请注意,您不需要转义斜杠字符(/).