DirectoryInfo.GetDirectories Метод

Определение

Возвращает подкаталоги текущего каталога.

Перегрузки

GetDirectories()

Возвращает подкаталоги текущего каталога.

GetDirectories(String)

Возвращает массив каталогов текущего объекта DirectoryInfo, отвечающих заданным условиям поиска.

GetDirectories(String, EnumerationOptions)

Возвращает массив каталогов при использовании DirectoryInfo, соответствующий указанному шаблону поиска и параметрам перечисления.

GetDirectories(String, SearchOption)

Возвращает массив каталогов в текущем объекте DirectoryInfo, отвечающих заданным условиям поиска, с использованием значения, которое позволяет определить, следует ли выполнять поиск в подкаталогах.

GetDirectories()

Исходный код:
DirectoryInfo.cs
Исходный код:
DirectoryInfo.cs
Исходный код:
DirectoryInfo.cs

Возвращает подкаталоги текущего каталога.

public System.IO.DirectoryInfo[] GetDirectories ();

Возвращаемое значение

Массив объектов DirectoryInfo.

Исключения

Путь, содержащийся в объекте DirectoryInfo, является недействительным (например, он ведет на несопоставленный диск).

У вызывающего объекта отсутствует необходимое разрешение.

У вызывающего объекта отсутствует необходимое разрешение.

Примеры

В следующем примере извлекаются все каталоги в корневом каталоге и отображаются имена каталогов.

using System;
using System.IO;

public class GetDirectoriesTest
{
    public static void Main()
    {

        // Make a reference to a directory.
        DirectoryInfo di = new DirectoryInfo("c:\\");

        // Get a reference to each directory in that directory.
        DirectoryInfo[] diArr = di.GetDirectories();

        // Display the names of the directories.
        foreach (DirectoryInfo dri in diArr)
            Console.WriteLine(dri.Name);
    }
}

Комментарии

Если подкаталогов нет, этот метод возвращает пустой массив. Этот метод не является рекурсивным.

Этот метод предварительно заполняет значения следующих DirectoryInfo свойств:

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

GetDirectories(String)

Исходный код:
DirectoryInfo.cs
Исходный код:
DirectoryInfo.cs
Исходный код:
DirectoryInfo.cs

Возвращает массив каталогов текущего объекта DirectoryInfo, отвечающих заданным условиям поиска.

public System.IO.DirectoryInfo[] GetDirectories (string searchPattern);

Параметры

searchPattern
String

Строка поиска, которая будет сравниваться с именами каталогов. Этот параметр может содержать сочетание допустимого литерального пути и подстановочного символа (* и ?), но не поддерживает регулярные выражения.

Возвращаемое значение

Массив элементов типа DirectoryInfo, отвечающих критерию searchPattern.

Исключения

платформа .NET Framework и .NET Core версий старше 2.1: searchPattern содержит один или несколько недопустимых символов, определенных методом GetInvalidPathChars() .

searchPattern имеет значение null.

Путь, содержащийся в объекте DirectoryInfo , является недействительным (например, он ведет на несопоставленный диск).

У вызывающего объекта отсутствует необходимое разрешение.

Примеры

В следующем примере производится подсчет каталогов в пути, который содержит указанную букву.

using System;
using System.IO;

class Test
{
    public static void Main()
    {
        try
        {
            DirectoryInfo di = new DirectoryInfo(@"c:\");

            // Get only subdirectories that contain the letter "p."
            DirectoryInfo[] dirs = di.GetDirectories("*p*");
            Console.WriteLine("The number of directories containing the letter p is {0}.", dirs.Length);

            foreach (DirectoryInfo diNext in dirs)
            {
                Console.WriteLine("The number of files in {0} is {1}", diNext,
                    diNext.GetFiles().Length);
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}

Комментарии

searchPattern может быть сочетанием литеральных и подстановочных знаков, но не поддерживает регулярные выражения. Следующие описатели с подстановочными знаками разрешены в searchPattern.

Описатель подстановочных знаков Соответствует
* (звездочка) Ноль или более символов в этой позиции.
? (вопросительный знак) Ноль или один символ в этой позиции.

Символы, отличные от подстановочного знака, являются литеральными символами. Например, строка "*t" ищет все имена, заканчивающиеся буквой "t". ". Строка searchPattern "s*" ищет все имена, path начинающиеся с буквы "s".

Этот метод предварительно заполняет значения следующих DirectoryInfo свойств:

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

GetDirectories(String, EnumerationOptions)

Исходный код:
DirectoryInfo.cs
Исходный код:
DirectoryInfo.cs
Исходный код:
DirectoryInfo.cs

Возвращает массив каталогов при использовании DirectoryInfo, соответствующий указанному шаблону поиска и параметрам перечисления.

public System.IO.DirectoryInfo[] GetDirectories (string searchPattern, System.IO.EnumerationOptions enumerationOptions);

Параметры

searchPattern
String

Строка поиска, которая будет сравниваться с именами каталогов. Этот параметр может содержать сочетание допустимого литерального пути и подстановочного символа (* и ?), но не поддерживает регулярные выражения.

enumerationOptions
EnumerationOptions

Объект, описывающий конфигурацию поиска и перечисления для использования.

Возвращаемое значение

Массив элементов типа DirectoryInfo, соответствующий searchPattern и enumerationOptions.

Исключения

платформа .NET Framework и .NET Core версий старше 2.1: searchPattern содержит один или несколько недопустимых символов, определенных методом GetInvalidPathChars() .

searchPattern имеет значение null.

Путь, содержащийся в объекте DirectoryInfo , является недействительным (например, он ведет на несопоставленный диск).

У вызывающего объекта отсутствует необходимое разрешение.

Комментарии

searchPattern может быть сочетанием литеральных и подстановочных знаков, но не поддерживает регулярные выражения. Следующие описатели с подстановочными знаками разрешены в searchPattern.

Описатель подстановочных знаков Соответствует
* (звездочка) Ноль или более символов в этой позиции.
? (вопросительный знак) Ноль или один символ в этой позиции.

Символы, отличные от подстановочного знака, являются литеральными символами. Например, строка "*t" ищет все имена, заканчивающиеся буквой "t". ". Строка searchPattern "s*" ищет все имена, path начинающиеся с буквы "s".

Этот метод предварительно заполняет значения следующих DirectoryInfo свойств:

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

GetDirectories(String, SearchOption)

Исходный код:
DirectoryInfo.cs
Исходный код:
DirectoryInfo.cs
Исходный код:
DirectoryInfo.cs

Возвращает массив каталогов в текущем объекте DirectoryInfo, отвечающих заданным условиям поиска, с использованием значения, которое позволяет определить, следует ли выполнять поиск в подкаталогах.

public System.IO.DirectoryInfo[] GetDirectories (string searchPattern, System.IO.SearchOption searchOption);

Параметры

searchPattern
String

Строка поиска, которая будет сравниваться с именами каталогов. Этот параметр может содержать сочетание допустимого литерального пути и подстановочного символа (* и ?), но не поддерживает регулярные выражения.

searchOption
SearchOption

Одно из значений перечисления, определяющее, следует ли выполнять поиск только в текущем каталоге или также во всех его подкаталогах.

Возвращаемое значение

Массив элементов типа DirectoryInfo, отвечающих критерию searchPattern.

Исключения

платформа .NET Framework и .NET Core версий старше 2.1: searchPattern содержит один или несколько недопустимых символов, определенных методом GetInvalidPathChars() .

searchPattern имеет значение null.

searchOption не является допустимым значением SearchOption.

Путь, содержащийся в объекте DirectoryInfo , является недействительным (например, он ведет на несопоставленный диск).

У вызывающего объекта отсутствует необходимое разрешение.

Примеры

В следующем примере перечислены все каталоги и файлы, начинающиеся с буквы "c" в "c:\".

using System;
using System.IO;

class App
{
    public static void Main()
    {
        // Specify the directory you want to manipulate.
        string path = @"c:\";
        string searchPattern = "c*";

        DirectoryInfo di = new DirectoryInfo(path);
        DirectoryInfo[] directories =
            di.GetDirectories(searchPattern, SearchOption.TopDirectoryOnly);

        FileInfo[] files =
            di.GetFiles(searchPattern, SearchOption.TopDirectoryOnly);

        Console.WriteLine(
            "Directories that begin with the letter \"c\" in {0}", path);
        foreach (DirectoryInfo dir in directories)
        {
            Console.WriteLine(
                "{0,-25} {1,25}", dir.FullName, dir.LastWriteTime);
        }

        Console.WriteLine();
        Console.WriteLine(
            "Files that begin with the letter \"c\" in {0}", path);
        foreach (FileInfo file in files)
        {
            Console.WriteLine(
                "{0,-25} {1,25}", file.Name, file.LastWriteTime);
        }
    } // Main()
} // App()

Комментарии

searchPattern может быть сочетанием литеральных и подстановочных знаков, но не поддерживает регулярные выражения. Следующие описатели с подстановочными знаками разрешены в searchPattern.

Описатель подстановочных знаков Соответствует
* (звездочка) Ноль или более символов в этой позиции.
? (вопросительный знак) Ноль или один символ в этой позиции.

Символы, отличные от подстановочного знака, являются литеральными символами. Например, строка "*t" ищет все имена, заканчивающиеся буквой "t". ". Строка searchPattern "s*" ищет все имена, path начинающиеся с буквы "s".

Если подкаталоги отсутствуют или подкаталоги не соответствуют параметру searchPattern , этот метод возвращает пустой массив.

Этот метод предварительно заполняет значения следующих DirectoryInfo свойств:

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0