【发布时间】:2017-05-03 09:58:43
【问题描述】:
我对此有疑问
我尝试将 xmlDocument 保存在网络设备文件夹中,而不是映射。
地点:
config.plc.Path ="\\IpAdress\\folder\\";
doc.Save(config.plc.Path + "file.xml");
它抛出了一个异常,我只是使用'@'修复它
doc.Save(@config.plc.Path + "file.xml");
当我将参数添加为带有@的逐字字符串时,它会变成这样:
config.plc.Path ="\\\\IpAdress\\\\folder\\\\";
是我第一次看到这样的路径,用
\\\\
谁能帮我理解这个?
【问题讨论】:
-
网络路径以 \\ 符号开头,在 c# 中,当您要编写需要使用逐字字符串或转义反斜杠时。如果你逃避反斜杠,你会得到 \\\\
-
那么,如果我不加@,c#会像反斜杠一样得到它?
-
您必须使用正确的 UNC 路径。它是
"\\\\machname\\share\\dir\\file.ext"。或@"\\machname\share\dir\file.ext"。请避免使用 IP 地址,它们会发生变化。 -
@Ferus7 是的,您需要转义字符串中的某些字符。请参阅下面的答案以获得解释
-
我从xml中读取了静态IP地址,谢谢大家,现在我明白了
标签: c# path xmldocument verbatim-string