如果我这样做:
string path = "\\myServer\myFile.txt"
我收到编译错误。所以我这样做:
string path = @"\\myServer\myFile.txt"
在Visual Studio的 QUICK WATCH 中输出路径为:
\\\\myServer\myFile.txt
有没有干净的方法可以避免这4个反斜杠的问题?
答案 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