【问题标题】:How work network paths in C#?C# 中的网络路径如何工作?
【发布时间】: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


【解决方案1】:

很简单,\\只是\的转义序列。必须使用@(逐字字符串)来避免这种情况

【讨论】:

  • 我想我明白了,如果我不使用逐字,路径将以\而不是\\开头,它将引用C:
猜你喜欢
  • 1970-01-01
  • 2012-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多