【问题标题】:c# advantage of using Path.Combine? [duplicate]c# 使用 Path.Combine 的优势? [复制]
【发布时间】:2017-11-22 10:40:13
【问题描述】:

我最近了解到 Path.Combine 将两个字符串组合成一个路径,但我想知道与我们目前在生产中使用的相比,使用 Path.Combine 有什么优势,如下所示:

var path = @":\somepath\"; var filename = postedFile.FileName;

var fullPath = 路径 + 文件名;

继续使用 Path.Combine(path, fileName) 会更好

谢谢

【问题讨论】:

  • 使用 Path.Combine() 将有助于防止您错过一个 \ 或错误地拥有两个 \\。
  • 您是否愿意阅读documentation?优势很明显

标签: c# system.io.file


【解决方案1】:

可能是这个问题有点学术但在我看来是有效的,我认为 .NET System.IO 命名空间的设计者/架构师想要提供组合路径的功能,因为它属于 IO 命名空间的逻辑,如果 .NET 在另一个系统上运行,例如'|'是路径分隔符,那么您的代码将不起作用

【讨论】:

    【解决方案2】:

    Path.Combine 使用 Path.PathSeparator 并检查第一个路径的末尾是否已经有分隔符,因此它不会重复分隔符。此外,它还会检查要组合的路径元素是否包含无效字符。

    参考链接:What is the advantage of using Path.Combine over concatenating strings with '+'?

    【讨论】:

      【解决方案3】:

      回答您的问题是最短的方法:是的。

      MSDN article 是了解 Path.Combine 实际做什么和不做什么的良好开端。

      Combine 最有趣的部分是它会在需要时尝试添加分隔符:

      string disk = "c:";
      string file= "text.txt";
      string result= Path.Combine(disk,file); 
      //result will be c:\text.txt
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-09-11
        • 1970-01-01
        • 1970-01-01
        • 2011-05-15
        • 2012-03-24
        • 2017-10-25
        • 1970-01-01
        相关资源
        最近更新 更多