这似乎没有意义,所以我显然做错了什么:
DirectoryInfo folder = new DirectoryInfo(Environment.CurrentDirectory + @"\Test");
if (folder.Exists == false) {
folder.Create();
var doesItExists = folder.Exists;
}
Run Code Online (Sandbox Code Playgroud)
如果文件夹不存在,则创建该文件夹.除了doesItExists总是假的.如果我刚刚创建它,为什么会是假的呢?
Dav*_*ret 18
中的值folder.Exists是缓存的.我建议做这个检查:
var doesItExists = Directory.Exists(folder.FullName);
Run Code Online (Sandbox Code Playgroud)
或者,您可以folder.Refresh()在创建目录之前检查目录是否存在之前调用更新缓存.请参阅此前一个答案.
Rog*_*mbe 13
假设它folder是一个DirectoryInfo或FileSystemInfo,它会读取其值一次,然后返回缓存的值.它没有注意到您已创建目录.打电话Refresh().
或者使用Directory.Exists().