Когда вы удаляете каталог, это одна запись в таблицу основных файлов накопителя, тогда как если вы удаляете каждый файл, то для каждого файла выполняется операция записи.Таким образом, более эффективно удалить каталог и создать его заново.
После обмена с @Mr Disappointment я бы предложил следующую поправку к моему ответу:
Если вынужно сделать это "много", тогда вы можете создать себе метод расширения, который выглядит следующим образом:
public static class IOExtension
{
public static void PurgeDirectory(this DirectoryInfo d)
{
string path = d.FullName;
Directory.Delete(d.FullName,true);//Delete with recursion
Directory.CreateDirectory(path);
}
}
, так что вы можете просто вызвать его в классе DirectoryInfo, как ...
Directory Info di = new DirectoryInfo(path);
di.PurgeDirectory();