c#使用Path.Combine的优势?

时间:2017-11-22 10:40:13

标签: c# system.io.file

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

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

var fullPath = path + filename;

使用Path.Combine(path,fileName)

是否更好

由于

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

以最短的方式回答你的问题:是的。

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

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

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