4 网络路径字符串上的反斜杠
4 Backslash on network path string
如果我这样做:
string path = "\myServer\myFile.txt"
我遇到编译错误。所以我这样做:
string path = @"\myServer\myFile.txt"
Visual Studio 的 QUICK WATCH 中路径的输出应该是:
\\myServer\myFile.txt
有什么干净的方法可以避免这 4 个反斜杠的问题吗?
string path = @"\"
不会创建带有 4 个反斜杠的字符串。它在调试器中可能看起来像这样,但请尝试 Debug.WriteLine()
它:只有 2.
Although the output of path is:
\\myServer\myFile.txt
不,不是。您可能会在调试器中看到的值是
\\myServer\myFile.txt
- 这只是调试器为您转义值。
字符串的值开头有一个双反斜杠,中间有一个反斜杠。例如:
Console.WriteLine(@"\myServer\myFile.txt");
将打印
\myServer\myFile.txt
区分字符串的实际内容和在调试器中看到的某些格式很重要。
如果你想在代码 中表达相同的字符串而不使用 使用逐字字符串文字(即以 @
开头的形式)你可以只转义每个反斜杠:
string path = "\\myServer\myFile.txt";
同样,实际的 value 一共只有三个反斜杠。例如:
string path1 = "\\myServer\myFile.txt";
string path2 = @"\myServer\myFile.txt";
Console.WriteLine(path1 == path2); // true
它们是表示相同字符串内容的不同文字。
不,你可以选择
string test = @"\myServer\myFile.txt";
或
string test = "\\myServer\myFile.txt";
两者都包含\myServer\myFile.txt
如果我这样做:
string path = "\myServer\myFile.txt"
我遇到编译错误。所以我这样做:
string path = @"\myServer\myFile.txt"
Visual Studio 的 QUICK WATCH 中路径的输出应该是:
\\myServer\myFile.txt
有什么干净的方法可以避免这 4 个反斜杠的问题吗?
string path = @"\"
不会创建带有 4 个反斜杠的字符串。它在调试器中可能看起来像这样,但请尝试 Debug.WriteLine()
它:只有 2.
Although the output of path is:
\\myServer\myFile.txt
不,不是。您可能会在调试器中看到的值是
\\myServer\myFile.txt
- 这只是调试器为您转义值。
字符串的值开头有一个双反斜杠,中间有一个反斜杠。例如:
Console.WriteLine(@"\myServer\myFile.txt");
将打印
\myServer\myFile.txt
区分字符串的实际内容和在调试器中看到的某些格式很重要。
如果你想在代码 中表达相同的字符串而不使用 使用逐字字符串文字(即以 @
开头的形式)你可以只转义每个反斜杠:
string path = "\\myServer\myFile.txt";
同样,实际的 value 一共只有三个反斜杠。例如:
string path1 = "\\myServer\myFile.txt";
string path2 = @"\myServer\myFile.txt";
Console.WriteLine(path1 == path2); // true
它们是表示相同字符串内容的不同文字。
不,你可以选择
string test = @"\myServer\myFile.txt";
或
string test = "\\myServer\myFile.txt";
两者都包含\myServer\myFile.txt