在C#中编写文件路径时,我发现我可以编写类似“C:\”或“C:/”的内容并获得相同的路径。推荐哪一个?我听说使用单个/比使用\更推荐(使用\作为转义序列)。
答案 0 :(得分:28)
Windows支持两个路径分隔符,因此两者都可以工作,至少对于本地路径(/不适用于网络路径)。问题是在Windows上使用工作但非标准的路径分隔符(/)没有任何实际好处,特别是因为您可以使用逐字字符串文字:
string path = @"C:\" //Look ma, no escape
我唯一可以看到使用/ separator的好处的情况是,您只使用相对路径并将使用Windows和Linux中的代码。然后你可以让“../foo/bar/baz”指向同一目录。但即使在这种情况下,最好离开System.IO命名空间(Path.DirectorySeparatorChar,Path.Combine)来处理此类问题。
答案 1 :(得分:23)
请使用Path.DirectorySeparatorChar或更好,因为Poita建议使用Path.Combine。
答案 2 :(得分:8)
使用Path.Combine
,您无需担心此类语义。
答案 3 :(得分:5)
我用C#编写路径:
@ “C:\我\路径”
@字符关闭\转义。
答案 4 :(得分:1)
这不是C#问题 - 这是一个Windows问题。 Windows中的路径通常以反斜杠显示:C:。在我看来,这就是你应该在C#中使用的东西。使用@“C:\”来防止反击字符的特殊处理。