我正在开发一个C#控制台应用程序,它需要能够在Windows和Linux上运行.它将在.NET 3.5和Mono上运行.我希望能够检查当前运行的目录中是否存在目录.由于Windows使用反斜杠进行目录遍历,并且Linux使用正斜杠,如何检查另一个目录中是否存在目录?
我正在使用System.IO.Directory.Exists.我认为一个简单的方法是首先检查当前工作文件夹中的"/"或"\"以确定使用哪一个,但是在某些情况下可能会有一个转义字符会使事情变得混乱!
使用Path.Combine来构建你的路.考虑以下代码:
var path = Path.Combine(
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
"childFolder");
Run Code Online (Sandbox Code Playgroud)
Windows对此非常宽容.你可以使用正斜杠,它会理解.
如果你不想冒这个机会它可能会感到困惑(我不是100%确定Windows 总是理解这一点),你可以使用Path.DirectorySeparatorChar