Почему бы вам не создать папку после ее создания?
Это не имеет смысла, поэтому я, очевидно, что-то не так:
DirectoryInfo folder = new DirectoryInfo(Environment.CurrentDirectory + @"\Test");
if (folder.Exists == false) {
folder.Create();
var doesItExists = folder.Exists;
}
Создает папку, если она не существует. За исключением doesItExists
всегда ложь. Почему это было бы ложным, если бы я просто создал его?
Ответы
Ответ 1
Значение в folder.Exists
кэшировано. Я бы предложил сделать эту проверку:
var doesItExists = Directory.Exists(folder.FullName);
Или вы можете вызвать folder.Refresh()
, чтобы обновить кеш, прежде чем проверять, существует ли каталог после его создания. См. Этот предыдущий ответ.
Ответ 2
Предполагая, что folder
является DirectoryInfo
или FileSystemInfo
, он считывает свои значения один раз и затем возвращает кешированные значения. Он не замечает, что вы создали каталог. Вызовите Refresh()
.
В качестве альтернативы используйте Directory.Exists()
.
Ответ 3
это вернет вас, вам нужно вызвать refresh():
DirectoryInfo folder = new DirectoryInfo(Environment.CurrentDirectory + @"\Test");
if (folder.Exists == false)
{
folder.Create();
folder.Refresh();
var doesItExists = folder.Exists;
}