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

Метод EnumerateDirectories

Directory.EnumerateDirectories возвращает IEnumerable<string> с путями к папкам. Массив сразу даёт GetDirectories. Файлы этим методом не перечисляют - для них EnumerateFiles. Есть EnumerateDirectoriesAsync.

Синтаксис

IEnumerable<string> seq = Directory.EnumerateDirectories(path);

Пример

Давайте посчитаем подпапки в abcde:

using System; using System.IO; class Program { static void Main() { Directory.CreateDirectory("abcde/nested"); Directory.CreateDirectory("abcde/other"); int res = 0; foreach (string _ in Directory.EnumerateDirectories("abcde")) { res++; } Console.WriteLine(res); Directory.Delete("abcde", true); } }

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

2

Пример

Давайте проверим, что вложенный каталог попадает в перечисление:

using System; using System.IO; class Program { static void Main() { Directory.CreateDirectory("abcde/nested"); bool res = false; foreach (string dir in Directory.EnumerateDirectories("abcde")) { if (dir.EndsWith("nested")) { res = true; } } Console.WriteLine(res); Directory.Delete("abcde", true); } }

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

True

Пример

Давайте убедимся, что без подпапок счётчик равен нулю:

using System; using System.IO; class Program { static void Main() { Directory.CreateDirectory("abcde"); int res = 0; foreach (string _ in Directory.EnumerateDirectories("abcde")) { res++; } Console.WriteLine(res); Directory.Delete("abcde"); } }

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

0

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

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