Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
713 of 1492 menu
◀ ▶

Метод Delete

Directory.Delete(path) удаляет только пустую папку. Чтобы убрать файлы и подпапки, передают recursive: true. Непустой каталог без recursive вызывает IOException. Создание - CreateDirectory. Есть DeleteAsync.

Синтаксис

Directory.Delete(path); Directory.Delete(path, recursive: true);

Пример

Давайте удалим пустую папку abcde:

using System; using System.IO; class Program { static void Main() { Directory.CreateDirectory("abcde"); Directory.Delete("abcde"); bool res = Directory.Exists("abcde"); Console.WriteLine(res); } }

Результат выполнения кода:

False

Пример

Давайте удалим папку с файлом через recursive: true:

using System; using System.IO; class Program { static void Main() { Directory.CreateDirectory("abcde"); File.WriteAllText("abcde/12345.txt", "12345"); Directory.Delete("abcde", true); Console.WriteLine(Directory.Exists("abcde")); } }

Результат выполнения кода:

False

Пример

Непустую папку без recursive удалить нельзя - такой вызов бросает IOException:

using System; using System.IO; class Program { static void Main() { Directory.CreateDirectory("abcde"); File.WriteAllText("abcde/12345.txt", "12345"); try { Directory.Delete("abcde"); } catch (IOException) { Console.WriteLine("fail"); } Directory.Delete("abcde", true); } }

Результат выполнения кода:

"fail"

Смотрите также

  • метод CreateDirectory,
    который создаёт каталог
  • метод Move,
    который переносит вместо удаления
  • метод Exists,
    который проверяет, удалена ли папка
  • File,
    которым создают файлы в каталоге
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить