我最近了解了Path.Combine,它将两个字符串组合成一个路径,但我想知道是什么,如果使用Path.Combine的任何优势与我们目前在生产中使用的相比,如下所示:
var path = @":\ somepath \&#34 ;; var filename = postedFile.FileName;
var fullPath = path + filename;
使用Path.Combine(path,fileName)
是否更好由于
答案 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