Udostępnij za pośrednictwem


DirectoryInfo.EnumerateFiles Metoda

Definicja

Zwraca wyliczalną kolekcję informacji o pliku w bieżącym katalogu.

Przeciążenia

EnumerateFiles()

Zwraca wyliczaną kolekcję informacji o pliku w bieżącym katalogu.

EnumerateFiles(String)

Zwraca wyliczaną kolekcję informacji o plikach pasujących do wzorca wyszukiwania.

EnumerateFiles(String, EnumerationOptions)

Zwraca wyliczaną kolekcję informacji o plikach pasujących do określonego wzorca wyszukiwania i opcji wyliczenia.

EnumerateFiles(String, SearchOption)

Zwraca wyliczaną kolekcję informacji o plikach pasujących do określonego wzorca wyszukiwania i opcji podkatalogu wyszukiwania.

EnumerateFiles()

Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs

Zwraca wyliczaną kolekcję informacji o pliku w bieżącym katalogu.

public:
 System::Collections::Generic::IEnumerable<System::IO::FileInfo ^> ^ EnumerateFiles();
public System.Collections.Generic.IEnumerable<System.IO.FileInfo> EnumerateFiles ();
member this.EnumerateFiles : unit -> seq<System.IO.FileInfo>
Public Function EnumerateFiles () As IEnumerable(Of FileInfo)

Zwraca

Wyliczenie kolekcji plików w bieżącym katalogu.

Wyjątki

Ścieżka hermetyzowana w DirectoryInfo obiekcie jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Obiekt wywołujący nie posiada wymaganych uprawnień.

Przykłady

Poniższy przykład wylicza pliki w określonym katalogu i używa zapytania LINQ, aby zwrócić nazwy wszystkich plików utworzonych przed 2009 r., sprawdzając wartość CreationTimeUtc właściwości.

Jeśli potrzebujesz tylko nazw plików, użyj klasy statycznej Directory , aby uzyskać lepszą wydajność. Aby zapoznać się z przykładem, zobacz metodę Directory.EnumerateFiles(String) .

// Create a DirectoryInfo of the directory of the files to enumerate.
DirectoryInfo DirInfo = new DirectoryInfo(@"\\archives1\library\");

DateTime StartOf2009 = new DateTime(2009, 01, 01);

// LINQ query for all files created before 2009.
var files = from f in DirInfo.EnumerateFiles()
           where f.CreationTimeUtc < StartOf2009
           select f;

// Show results.
foreach (var f in files)
{
    Console.WriteLine("{0}", f.Name);
}
// Create a DirectoryInfo of the directory of the files to enumerate.
let dirInfo = DirectoryInfo @"\archives1\library\"

let startOf2009 = DateTime(2009, 01, 01)

// LINQ query for all files created before 2009.
let files = 
    query {
        for f in dirInfo.EnumerateFiles() do
        where (f.CreationTime < startOf2009)
        select f
    }

// Show results.
for f in files do
    printfn $"{f.Name}"
' Create a DirectoryInfo of the directory of the files to enumerate.
Dim DirInfo As New DirectoryInfo("\\archives1\library\")

Dim StartOf2009 As New DateTime(2009, 1, 1)

' LINQ query for all files created before 2009.
Dim files = From f In DirInfo.EnumerateFiles()
            Where f.CreationTimeUtc < StartOf2009

' Show results.
For Each f As FileInfo In files
    Console.WriteLine("{0}", f.Name)
Next

W poniższym przykładzie pokazano, jak wyliczać pliki w katalogu przy użyciu różnych opcji wyszukiwania. W przykładzie przyjęto założenie, że katalog zawierający pliki o nazwie log1.txt, log2.txt, test1.txt, test2.txt, test3.txt i podkatalog o nazwie SubFile.txt.

using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo di = new DirectoryInfo(@"C:\ExampleDir");
            Console.WriteLine("No search pattern returns:");
            foreach (var fi in di.EnumerateFiles())
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern *2* returns:");
            foreach (var fi in di.EnumerateFiles("*2*"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern test?.txt returns:");
            foreach (var fi in di.EnumerateFiles("test?.txt"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern AllDirectories returns:");
            foreach (var fi in di.EnumerateFiles("*", SearchOption.AllDirectories))
            {
                Console.WriteLine(fi.Name);
            }
        }
    }
}
/*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .

*/
open System.IO

let di = DirectoryInfo @"C:\ExampleDir"
printfn "No search pattern returns:"
for fi in di.EnumerateFiles() do
    printfn $"{fi.Name}"

printfn "\nSearch pattern *2* returns:"
for fi in di.EnumerateFiles "*2*" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern test?.txt returns:"
for fi in di.EnumerateFiles "test?.txt" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern AllDirectories returns:"
for fi in di.EnumerateFiles("*", SearchOption.AllDirectories) do
    printfn $"{fi.Name}"
(*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO

Module Module1

    Sub Main()
        Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
        Console.WriteLine("No search pattern returns:")
        For Each fi In di.EnumerateFiles()
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern *2* returns:")
        For Each fi In di.EnumerateFiles("*2*")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern test?.txt returns:")
        For Each fi In di.EnumerateFiles("test?.txt")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern AllDirectories returns:")
        For Each fi In di.EnumerateFiles("*", SearchOption.AllDirectories)
            Console.WriteLine(fi.Name)
        Next
    End Sub

End Module

' This code produces output similar to the following:

' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt

' Search pattern *2* returns:
' log2.txt
' test2.txt

' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt

' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .

Uwagi

Metody EnumerateFiles i GetFiles różnią się w następujący sposób:

  • W przypadku używania programu EnumerateFilesmożna rozpocząć wyliczanie kolekcji FileInfo obiektów przed zwróceniem całej kolekcji.

  • W przypadku używania polecenia GetFilesnależy poczekać na zwrócenie całej tablicy FileInfo obiektów, zanim będzie można uzyskać dostęp do tablicy.

W związku z tym podczas pracy z wieloma plikami i katalogami EnumerateFiles może być wydajniejszy.

Ta metoda wstępnie wypełnia wartości następujących FileInfo właściwości:

Zwrócona kolekcja nie jest buforowana; każde wywołanie GetEnumerator metody w kolekcji spowoduje uruchomienie nowego wyliczenia.

Dotyczy

EnumerateFiles(String)

Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs

Zwraca wyliczaną kolekcję informacji o plikach pasujących do wzorca wyszukiwania.

public:
 System::Collections::Generic::IEnumerable<System::IO::FileInfo ^> ^ EnumerateFiles(System::String ^ searchPattern);
public System.Collections.Generic.IEnumerable<System.IO.FileInfo> EnumerateFiles (string searchPattern);
member this.EnumerateFiles : string -> seq<System.IO.FileInfo>
Public Function EnumerateFiles (searchPattern As String) As IEnumerable(Of FileInfo)

Parametry

searchPattern
String

Ciąg wyszukiwania zgodny z nazwami plików. Ten parametr może zawierać kombinację prawidłowych znaków ścieżki literału i symboli wieloznacznych (* i ?), ale nie obsługuje wyrażeń regularnych.

Zwraca

Wyliczenie kolekcji plików pasujących do searchPatternelementu .

Wyjątki

searchPattern to null.

Ścieżka hermetyzowana w DirectoryInfo obiekcie jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Obiekt wywołujący nie posiada wymaganych uprawnień.

Przykłady

W poniższym przykładzie pokazano, jak wyliczać pliki w katalogu przy użyciu różnych opcji wyszukiwania. W przykładzie przyjęto założenie, że katalog zawierający pliki o nazwie log1.txt, log2.txt, test1.txt, test2.txt, test3.txt i podkatalog o nazwie SubFile.txt.

using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo di = new DirectoryInfo(@"C:\ExampleDir");
            Console.WriteLine("No search pattern returns:");
            foreach (var fi in di.EnumerateFiles())
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern *2* returns:");
            foreach (var fi in di.EnumerateFiles("*2*"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern test?.txt returns:");
            foreach (var fi in di.EnumerateFiles("test?.txt"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern AllDirectories returns:");
            foreach (var fi in di.EnumerateFiles("*", SearchOption.AllDirectories))
            {
                Console.WriteLine(fi.Name);
            }
        }
    }
}
/*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .

*/
open System.IO

let di = DirectoryInfo @"C:\ExampleDir"
printfn "No search pattern returns:"
for fi in di.EnumerateFiles() do
    printfn $"{fi.Name}"

printfn "\nSearch pattern *2* returns:"
for fi in di.EnumerateFiles "*2*" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern test?.txt returns:"
for fi in di.EnumerateFiles "test?.txt" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern AllDirectories returns:"
for fi in di.EnumerateFiles("*", SearchOption.AllDirectories) do
    printfn $"{fi.Name}"
(*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO

Module Module1

    Sub Main()
        Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
        Console.WriteLine("No search pattern returns:")
        For Each fi In di.EnumerateFiles()
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern *2* returns:")
        For Each fi In di.EnumerateFiles("*2*")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern test?.txt returns:")
        For Each fi In di.EnumerateFiles("test?.txt")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern AllDirectories returns:")
        For Each fi In di.EnumerateFiles("*", SearchOption.AllDirectories)
            Console.WriteLine(fi.Name)
        Next
    End Sub

End Module

' This code produces output similar to the following:

' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt

' Search pattern *2* returns:
' log2.txt
' test2.txt

' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt

' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .

Uwagi

searchPattern może być kombinacją literałów i symboli wieloznacznych, ale nie obsługuje wyrażeń regularnych. Następujące specyfikatory symboli wieloznacznych są dozwolone w programie searchPattern.

Specyfikator symboli wieloznacznych Jest zgodny z
* (gwiazdka) Zero lub więcej znaków w tej pozycji.
? (znak zapytania) Zero lub jeden znak w tej pozycji.

Znaki inne niż symbol wieloznaczny to znaki literału. Na przykład ciąg "*t" wyszukuje wszystkie nazwy kończące się literą "t". ". Ciąg searchPattern "s*" wyszukuje wszystkie nazwy, path zaczynając od litery "s".

Metody EnumerateFiles i GetFiles różnią się w następujący sposób:

  • W przypadku używania programu EnumerateFilesmożna rozpocząć wyliczanie kolekcji FileInfo obiektów przed zwróceniem całej kolekcji.

  • W przypadku używania polecenia GetFilesnależy poczekać na zwrócenie całej tablicy FileInfo obiektów, zanim będzie można uzyskać dostęp do tablicy.

W związku z tym podczas pracy z wieloma plikami i katalogami EnumerateFiles może być wydajniejszy.

Ta metoda wstępnie wypełnia wartości następujących FileInfo właściwości:

Zwrócona kolekcja nie jest buforowana; każde wywołanie GetEnumerator metody w kolekcji spowoduje uruchomienie nowego wyliczenia.

Dotyczy

EnumerateFiles(String, EnumerationOptions)

Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs

Zwraca wyliczaną kolekcję informacji o plikach pasujących do określonego wzorca wyszukiwania i opcji wyliczenia.

public:
 System::Collections::Generic::IEnumerable<System::IO::FileInfo ^> ^ EnumerateFiles(System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public System.Collections.Generic.IEnumerable<System.IO.FileInfo> EnumerateFiles (string searchPattern, System.IO.EnumerationOptions enumerationOptions);
member this.EnumerateFiles : string * System.IO.EnumerationOptions -> seq<System.IO.FileInfo>
Public Function EnumerateFiles (searchPattern As String, enumerationOptions As EnumerationOptions) As IEnumerable(Of FileInfo)

Parametry

searchPattern
String

Ciąg wyszukiwania zgodny z nazwami plików. Ten parametr może zawierać kombinację prawidłowych znaków ścieżki literału i symboli wieloznacznych (* i ?), ale nie obsługuje wyrażeń regularnych.

enumerationOptions
EnumerationOptions

Obiekt opisujący konfigurację wyszukiwania i wyliczenia do użycia.

Zwraca

Wyliczenie kolekcji plików pasujących searchPattern do elementów i enumerationOptions.

Wyjątki

searchPattern to null.

Ścieżka hermetyzowana w DirectoryInfo obiekcie jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Obiekt wywołujący nie posiada wymaganych uprawnień.

Uwagi

searchPattern może być kombinacją literałów i symboli wieloznacznych, ale nie obsługuje wyrażeń regularnych. Następujące specyfikatory symboli wieloznacznych są dozwolone w programie searchPattern.

Specyfikator symboli wieloznacznych Jest zgodny z
* (gwiazdka) Zero lub więcej znaków w tej pozycji.
? (znak zapytania) Zero lub jeden znak w tej pozycji.

Znaki inne niż symbol wieloznaczny to znaki literału. Na przykład ciąg "*t" wyszukuje wszystkie nazwy kończące się literą "t". ". Ciąg searchPattern "s*" wyszukuje wszystkie nazwy, path zaczynając od litery "s".

Metody EnumerateFiles i GetFiles różnią się w następujący sposób:

  • W przypadku używania programu EnumerateFilesmożna rozpocząć wyliczanie kolekcji FileInfo obiektów przed zwróceniem całej kolekcji.

  • W przypadku używania polecenia GetFilesnależy poczekać na zwrócenie całej tablicy FileInfo obiektów, zanim będzie można uzyskać dostęp do tablicy.

W związku z tym podczas pracy z wieloma plikami i katalogami EnumerateFiles może być wydajniejszy.

Ta metoda wstępnie wypełnia wartości następujących FileInfo właściwości:

Zwrócona kolekcja nie jest buforowana; każde wywołanie GetEnumerator metody w kolekcji spowoduje uruchomienie nowego wyliczenia.

Dotyczy

EnumerateFiles(String, SearchOption)

Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs
Źródło:
DirectoryInfo.cs

Zwraca wyliczalną kolekcję informacji o plikach, która jest zgodna z określonym wzorcem wyszukiwania i opcją podkatalogu wyszukiwania.

public:
 System::Collections::Generic::IEnumerable<System::IO::FileInfo ^> ^ EnumerateFiles(System::String ^ searchPattern, System::IO::SearchOption searchOption);
public System.Collections.Generic.IEnumerable<System.IO.FileInfo> EnumerateFiles (string searchPattern, System.IO.SearchOption searchOption);
member this.EnumerateFiles : string * System.IO.SearchOption -> seq<System.IO.FileInfo>
Public Function EnumerateFiles (searchPattern As String, searchOption As SearchOption) As IEnumerable(Of FileInfo)

Parametry

searchPattern
String

Ciąg wyszukiwania zgodny z nazwami plików. Ten parametr może zawierać kombinację prawidłowych znaków ścieżki literału i symboli wieloznacznych (* i ?), ale nie obsługuje wyrażeń regularnych.

searchOption
SearchOption

Jedna z wartości wyliczenia określająca, czy operacja wyszukiwania powinna zawierać tylko bieżący katalog, czy wszystkie podkatalogi. Wartość domyślna to TopDirectoryOnly.

Zwraca

Wyliczalna kolekcja plików pasujących searchPattern do elementów i searchOption.

Wyjątki

searchPattern to null.

searchOption jest nieprawidłową SearchOption wartością.

Ścieżka hermetyzowana w DirectoryInfo obiekcie jest nieprawidłowa (na przykład znajduje się na niezamapowanym dysku).

Obiekt wywołujący nie posiada wymaganych uprawnień.

Przykłady

W poniższym przykładzie pokazano, jak wyliczać pliki w katalogu przy użyciu różnych opcji wyszukiwania. W przykładzie przyjęto założenie, że katalog zawierający pliki o nazwie log1.txt, log2.txt, test1.txt, test2.txt, test3.txt i podkatalog o nazwie SubFile.txt.

using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo di = new DirectoryInfo(@"C:\ExampleDir");
            Console.WriteLine("No search pattern returns:");
            foreach (var fi in di.EnumerateFiles())
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern *2* returns:");
            foreach (var fi in di.EnumerateFiles("*2*"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern test?.txt returns:");
            foreach (var fi in di.EnumerateFiles("test?.txt"))
            {
                Console.WriteLine(fi.Name);
            }

            Console.WriteLine();

            Console.WriteLine("Search pattern AllDirectories returns:");
            foreach (var fi in di.EnumerateFiles("*", SearchOption.AllDirectories))
            {
                Console.WriteLine(fi.Name);
            }
        }
    }
}
/*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .

*/
open System.IO

let di = DirectoryInfo @"C:\ExampleDir"
printfn "No search pattern returns:"
for fi in di.EnumerateFiles() do
    printfn $"{fi.Name}"

printfn "\nSearch pattern *2* returns:"
for fi in di.EnumerateFiles "*2*" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern test?.txt returns:"
for fi in di.EnumerateFiles "test?.txt" do
    printfn $"{fi.Name}"

printfn "\nSearch pattern AllDirectories returns:"
for fi in di.EnumerateFiles("*", SearchOption.AllDirectories) do
    printfn $"{fi.Name}"
(*
This code produces output similar to the following:

No search pattern returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt

Search pattern *2* returns:
log2.txt
test2.txt

Search pattern test?.txt returns:
test1.txt
test2.txt
test3.txt

Search pattern AllDirectories returns:
log1.txt
log2.txt
test1.txt
test2.txt
test3.txt
SubFile.txt
Press any key to continue . . .
*)
Imports System.IO

Module Module1

    Sub Main()
        Dim di As DirectoryInfo = New DirectoryInfo("C:\ExampleDir")
        Console.WriteLine("No search pattern returns:")
        For Each fi In di.EnumerateFiles()
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern *2* returns:")
        For Each fi In di.EnumerateFiles("*2*")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern test?.txt returns:")
        For Each fi In di.EnumerateFiles("test?.txt")
            Console.WriteLine(fi.Name)
        Next

        Console.WriteLine()

        Console.WriteLine("Search pattern AllDirectories returns:")
        For Each fi In di.EnumerateFiles("*", SearchOption.AllDirectories)
            Console.WriteLine(fi.Name)
        Next
    End Sub

End Module

' This code produces output similar to the following:

' No search pattern returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt

' Search pattern *2* returns:
' log2.txt
' test2.txt

' Search pattern test?.txt returns:
' test1.txt
' test2.txt
' test3.txt

' Search pattern AllDirectories returns:
' log1.txt
' log2.txt
' test1.txt
' test2.txt
' test3.txt
' SubFile.txt
' Press any key to continue . . .

Uwagi

searchPattern może być kombinacją literałów i symboli wieloznacznych, ale nie obsługuje wyrażeń regularnych. Następujące specyfikatory symboli wieloznacznych są dozwolone w programie searchPattern.

Specyfikator symboli wieloznacznych Jest zgodny z
* (gwiazdka) Zero lub więcej znaków w tej pozycji.
? (znak zapytania) Zero lub jeden znak w tej pozycji.

Znaki inne niż symbol wieloznaczny to znaki literału. Na przykład ciąg "*t" wyszukuje wszystkie nazwy kończące się literą "t". ". Ciąg searchPattern "s*" wyszukuje wszystkie nazwy, path zaczynając od litery "s".

Metody EnumerateFiles i GetFiles różnią się w następujący sposób:

  • W przypadku używania programu EnumerateFilesmożna rozpocząć wyliczanie kolekcji FileInfo obiektów przed zwróceniem całej kolekcji.

  • Gdy używasz metody GetFiles, musisz poczekać, aż zostanie zwrócona cała tablica FileInfo obiektów, zanim będzie można uzyskać dostęp do tablicy.

W związku z tym podczas pracy z wieloma plikami i katalogami EnumerateFiles może być wydajniejszy.

Ta metoda wstępnie wypełnia wartości następujących FileInfo właściwości:

Zwrócona kolekcja nie jest buforowana; każde wywołanie GetEnumerator metody w kolekcji rozpocznie nową wyliczenie.

Dotyczy