Diretório de lista C#

Resumo : neste tutorial, você aprenderá como listar um diretório em C# usando o Directory.EnumerateDirectories()método.

Introdução ao método C# Directory.EnumerateDirectories()

O Directory.EnumerateDirectories()método retorna uma coleção enumerável ( IEnumerable<string>) de nomes de diretórios que correspondem a um padrão de pesquisa especificado.

Aqui está a sintaxe do Directory.EnumerateDirectories()método:

public static IEnumerable<string> EnumerateDirectories(
    string path, 
    string searchPattern, 
    SearchOption searchOption
);Linguagem de código:  C#  ( cs )

Nesta sintaxe:

  • Especifica patho caminho do diretório para procurar subdiretórios.
  • O searchPatternespecifica um padrão de pesquisa.
  • O searchOptioninstrui o método a pesquisar apenas o diretório atual ( SearchOption.TopDirectoryOnly) ou incluir todos os subdiretórios ( SearchOptioin.AllDirectories).

O padrão de pesquisa pode conter caracteres curinga como *e ?:

  • Asterisco ( *) – corresponde a zero ou mais caracteres.
  • Ponto de interrogação ( ?) – corresponde exatamente a um caractere.

Por exemplo:

  • backup*corresponde a uma string que começa com backup e é seguida por zero ou mais caracteres, por exemplo, backup2023, backupABC.
  • backup?corresponde a uma string que começa com backup e é seguida por um caractere, por exemplo, backup1, backup2.

Além de caracteres inválidos, o padrão de pesquisa não pode terminar com dois pontos ( ..) ou conter dois pontos ( ..)

Observe que o searchPatternnão oferece suporte a expressões regulares.

Exemplo de diretório de listagem C#

O programa a seguir demonstra como encontrar os diretórios cujos nomes começam com "0"no C:\backupdiretório:

using static System.Console;

string path = @"C:\backup\2023";

var dirnames = Directory.EnumerateDirectories(
    path,
    "0*",
    SearchOption.AllDirectories
);

foreach (var dirname in dirnames)
{
    WriteLine(dirname);
}Linguagem de código:  C#  ( cs )

Suponha que o C:\backupdiretório seja assim:

c:\backup
└── 2023
   ├── 01
   |  └── readme.txt
   ├── 02
   ├── 03
   ├── 04
   ├── 05
   ├── 06
   ├── 07
   ├── 08
   ├── 09
   ├── 10
   ├── 11
   └── 12

directory: 13 file: 1Linguagem de código:  texto simples  ( texto simples )

O programa mostrará a seguinte saída:

C:\backup\2023\01
C:\backup\2023\02
C:\backup\2023\03
C:\backup\2023\04
C:\backup\2023\05
C:\backup\2023\06
C:\backup\2023\07
C:\backup\2023\08
C:\backup\2023\09Linguagem de código:  texto simples  ( texto simples )

Resumo

  • Use Directory.EnumerateDirectories()o método C# para retornar um número IEnumerable<string>de caminhos para diretórios que correspondam aos critérios especificados.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *