无法识别的逃脱序列

ant*_*009 4 c#

VS 2005 WinXP

我正在编写一个将连接到samba共享的应用程序.

但是,在我的路径中,我收到编译错误:

unrecognized escape sequence
Run Code Online (Sandbox Code Playgroud)

我使用的路径是这样的:

string path = "\\Samba\sun005\admin_config\test.txt";
Run Code Online (Sandbox Code Playgroud)

我还尝试使用双反斜杠:

string path = "\\Samba\\sun005\\admin_config\\test.txt";
Run Code Online (Sandbox Code Playgroud)

但是,上面编译好了,但是当它运行时抱怨"找不到路径"

还尝试了以下内容:

string path = @"\\Samba\sun005\admin_config\test.txt";
Run Code Online (Sandbox Code Playgroud)

当我检入调试器时,我得到以下字符串

\\Samba\\sun005\\admin_config\\test.txt
Run Code Online (Sandbox Code Playgroud)

在我的例外中我被拒绝访问.现在我正在思考它.我没有设置用户名和密码.我认为这是我的问题.

非常感谢任何建议,

And*_*per 13

UNC路径应该只包括机器名称,共享名称,相对于共享点的路径(不需要包含"samba"方案).如果机器名称为sun005,则以下两个中的任何一个都应该起作用:

"\\\\sun005\\admin_config\\test.txt"
@"\\sun005\admin_config\test.txt"
Run Code Online (Sandbox Code Playgroud)


Jam*_*ran 5

编译器将其 \\Samba\sun005\admin_config\test.txt 视为\Samba\sun005\x07dmin_config\x09est.txt. 但它只是不理解“\s”。

它认为编译器\\Samba\\sun005\\admin_config\\test.txt\Samba\sun005\admin_config\test.txt哪个感到满意,但您确实需要在开始时使用两个斜杠。为此,您需要使用四个斜杠“\\Samba....”

@"\\Samba\sun005\admin_config\test.txt"正是你想要的!您会在调试器中看到额外的斜杠,因为调试器添加了它们,因此您可以看到字符串中的真正内容。如果字符串中有换行符,它将显示为“\n”。