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

Метод GetDirectories

Directory.GetDirectories возвращает string[] с путями к папкам внутри указанного каталога. Файлы в массив не попадают. Глубину обхода задаёт SearchOption. Ленивый вариант - EnumerateDirectories. Есть GetDirectoriesAsync.

Синтаксис

string[] dirs = Directory.GetDirectories(path); string[] dirs = Directory.GetDirectories( path, "*", SearchOption.AllDirectories);

Пример

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

using System; using System.IO; class Program { static void Main() { Directory.CreateDirectory("abcde/nested"); string[] res = Directory.GetDirectories("abcde"); Console.WriteLine(res.Length); Directory.Delete("abcde", true); } }

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

1

Пример

Давайте выведем имя единственной подпапки:

using System; using System.IO; class Program { static void Main() { Directory.CreateDirectory("abcde/nested"); string[] res = Directory.GetDirectories("abcde"); bool resName = res[0].EndsWith("nested"); Console.WriteLine(resName); Directory.Delete("abcde", true); } }

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

True

Пример

Давайте проверим пустой каталог без подпапок:

using System; using System.IO; class Program { static void Main() { Directory.CreateDirectory("abcde"); string[] res = Directory.GetDirectories("abcde"); Console.WriteLine(res.Length); Directory.Delete("abcde"); } }

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

0

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

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