为什么Path.Combine比"\\"更好?

A.R*_*.R. 5 c# string

多年来,也是最近,我听说每个人都应该使用Path.Combine,而不是将字符串与"\\"连接在一起,例如:

string myFilePath = Path.Combine("c:", "myDoc.txt");  
// vs.  
string myFilePath = "C:" + "\\myDoc.txt";
Run Code Online (Sandbox Code Playgroud)

我没有看到前一版本对后者的好处,我希望有人可以解释.

Tim*_*ter 15

构建路径Path.Combine更具可读性且不易出错.你不需要去想目录分隔字符(\\或\或/在UNIX上,...),或者如果路径的第一部分完成或没有结束\,以及是否路径的第二部分或不下手\.

您可以专注于重要部分,目录和文件名.它String.Format具有超过字符串连接的相同优点.

  • 我已经失去了多次看到带有双反斜杠的路径的次数,因为人们没有使用`Path.Combine()`.Windows API忽略了路径中的额外反斜杠(除了在路径的开头),这是一个很好的工作! (2认同)

And*_*ren 9

当你不知道的第一个目录(例如,它来自于用户输入),你可能C:\Directory还是C:\Directory\和Path.Combine将解决最后的斜线为您解决问题.尽管如此,它确实具有带有前导斜杠的怪癖.

其次,虽然对于大多数应用程序来说通常不是问题,但是Path.Combine您并没有对平台目录分隔符进行硬编码.对于可以部署到除Windows之外的其他操作系统的应用程序,这很方便.