为什么创建后文件夹不存在?

这似乎没有意义,所以我显然做错了什么:

DirectoryInfo folder = new DirectoryInfo(Environment.CurrentDirectory + @"\Test"); if (folder.Exists == false) { folder.Create(); var doesItExists = folder.Exists; } 

如果文件夹不存在,则创建该文件夹。 除了doesItExists总是假的。 如果我刚刚创建它,为什么会是假的呢?

folder.Exists的值被缓存 。 我建议做这个检查:

 var doesItExists = Directory.Exists(folder.FullName); 

或者,您可以调用folder.Refresh()来更新缓存,然后在创建目录后检查目录是否存在。 请参阅此前一个答案 。

假设该folderDirectoryInfoFileSystemInfo ,它会读取其值一次,然后返回缓存的值。 它没有注意到您已创建目录。 调用Refresh()

或者使用Directory.Exists()

这将使你真实,你需要调用refresh():

  DirectoryInfo folder = new DirectoryInfo(Environment.CurrentDirectory + @"\Test"); if (folder.Exists == false) { folder.Create(); folder.Refresh(); var doesItExists = folder.Exists; }