在C#中使用/或\\用于文件夹path

在C#中编写文件path时,我发现我可以写“C:\”或“C:/”之类的东西,并获得相同的path。 哪一个被推荐? 我听说某个地方使用单个/比使用\更为推荐(使用\作为转义序列)。

Windows支持两个路径分隔符,所以两者都能工作,至少对于本地路径(/将不适用于网络路径)。 问题是在Windows上使用工作但非标准的路径分隔符(/)没有实际的好处,特别是因为你可以使用逐字字符串文字:

string path = @"C:\" //Look ma, no escape 

唯一可以看到使用/分隔符的好处是,只能使用相对路径,并使用Windows和Linux中的代码。 然后你可以把“../foo/bar/baz”指向同一个目录。 但即使在这种情况下最好留下System.IO命名空间( Path.DirectorySeparatorChar , Path.Combine )来处理这些问题。

请使用Path.DirectorySeparatorChar或更好,因为Poita建议使用Path.Combine 。

使用Path.Combine ,你不需要担心这样的语义。

我用C#写这样的路径:

@ “C:\我的\路径”

@字符关闭\转义。

这不是一个C#问题 – 这是一个Windows问题。 Windows中的路径通常显示为反斜杠:C :. 在我看来,这就是你应该在C#中使用的。 使用@“C:\”来防止反锯齿字符的特殊处理。