Метод 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