[C#] Directory.Exists возвращает true, если каталог отсутствует


Answers

Я не знаю, почему Windows 7 делает это, и у меня нет копии для тестирования, но ваша проверка на Directory.Exists (путь) не требуется. Если вы занесете (глубоко) в Directory.CreateDirectory (путь), вы обнаружите, что он внутренне проверяет, существует ли каталог уже существует, и нет проблем вызывать его несколько раз в каталоге, который уже существует. Вызов Directory.Exists (путь) является посторонним и ненужным.

Конечно, если Windows 7 не выполняет Directory.Exists, как я ожидал, возможно, он не делает голый Directory.CreateDirectory. В любом случае, это стоит проверить.

Question

Я работаю над приложением для Windows 7 и запускаю какой-то обычный код создания каталога:

string dirPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "MyDir");    
if (!Directory.Exists(dirPath))
   Directory.CreateDirectory(dirPath);

Проблема в том, что строка Directory.Exists возвращает true, когда я не вижу каталог через командную строку и проводник Windows. Это не проблема при работе с Windows XP. Что-то происходит с Windows 7, о котором я не знаю?

EDIT: Добавлен Path.Combine