4网络路径字符串上的反斜杠

时间:2015-01-15 13:00:28

标签: c# .net string

如果我这样做:

string path = "\\myServer\myFile.txt"

我收到编译错误。所以我这样做:

string path = @"\\myServer\myFile.txt"

在Visual Studio的 QUICK WATCH 中输出路径为:

\\\\myServer\myFile.txt

有没有干净的方法可以避免这4个反斜杠的问题?

3 个答案:

答案 0 :(得分:3)

  

虽然路径的输出是:

\\\\myServer\myFile.txt

不,不是。您可能在调试器中看到的值是

\\\\myServer\\myFile.txt
  • 这只是为你逃避价值的调试器。

字符串的值在开头有一个双反斜杠,中间有一个反斜杠。例如:

Console.WriteLine(@"\\myServer\myFile.txt");

将打印

\\myServer\myFile.txt

区分字符串的实际内容和调试器中的某些格式非常重要。

如果你想在代码中使用逐字字符串文字(以@开头的形式表示)表示相同的字符串,你可以转义每个反斜杠:< / p>

string path = "\\\\myServer\\myFile.txt";

同样,实际的总共只有三个反斜杠。例如:

string path1 = "\\\\myServer\\myFile.txt";
string path2 = @"\\myServer\myFile.txt";
Console.WriteLine(path1 == path2); // true

它们是表示相同字符串内容的不同文字。

答案 1 :(得分:2)

string path = @"\\"不会创建带有4个反斜杠的字符串。它可能在调试器中看起来像那样,但尝试Debug.WriteLine()它:只有2个。

答案 2 :(得分:0)

不,您可以选择

string test = @"\\myServer\myFile.txt";

string test = "\\\\myServer\\myFile.txt";

两者都包含\\myServer\myFile.txt