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

sir*_*lot 11 c#

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

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()在创建目录之前检查目录是否存在之前调用更新缓存.请参阅此前一个答案.

  • 特别是如果在调用`Create`方法后它没有刷新它. (5认同)

Rog*_*mbe 13

假设它folder是一个DirectoryInfoFileSystemInfo,它会读取其值一次,然后返回缓存的值.它没有注意到您已创建目录.打电话Refresh().

或者使用Directory.Exists().