Directory.EnumerateDirectories Directory.EnumerateDirectories Directory.EnumerateDirectories Directory.EnumerateDirectories Method

Definition

Gibt eine aufzählbare Auflistung von Verzeichnisnamen zurück, die bestimmte Kriterien erfüllen.Returns an enumerable collection of directory names that meet specified criteria.

Überlädt

EnumerateDirectories(String) EnumerateDirectories(String) EnumerateDirectories(String) EnumerateDirectories(String)

Gibt eine aufzählbare Auflistung von Verzeichnisnamen in einem angegebenen Pfad zurück.Returns an enumerable collection of directory names in a specified path.

EnumerateDirectories(String, String) EnumerateDirectories(String, String) EnumerateDirectories(String, String) EnumerateDirectories(String, String)

Gibt eine aufzählbare Auflistung von Verzeichnisnamen zurück, die einem Suchmuster in einem angegebenen Pfad entsprechen.Returns an enumerable collection of directory names that match a search pattern in a specified path.

EnumerateDirectories(String, String, EnumerationOptions) EnumerateDirectories(String, String, EnumerationOptions) EnumerateDirectories(String, String, EnumerationOptions)
EnumerateDirectories(String, String, SearchOption) EnumerateDirectories(String, String, SearchOption) EnumerateDirectories(String, String, SearchOption)

Gibt eine aufzählbare Auflistung von Verzeichnisnamen zurück, die einem Suchmuster in einem angegebenen Pfad entsprechen. Optional werden Unterverzeichnisse durchsucht.Returns an enumerable collection of directory names that match a search pattern in a specified path, and optionally searches subdirectories.

EnumerateDirectories(String) EnumerateDirectories(String) EnumerateDirectories(String) EnumerateDirectories(String)

Gibt eine aufzählbare Auflistung von Verzeichnisnamen in einem angegebenen Pfad zurück.Returns an enumerable collection of directory names in a specified path.

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path);
static member EnumerateDirectories : string -> seq<string>
Public Shared Function EnumerateDirectories (path As String) As IEnumerable(Of String)

Parameter

path
String String String String

Der relative oder absolute Pfad zum Verzeichnis, das durchsucht werden soll.The relative or absolute path to the directory to search. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht berücksichtigt.This string is not case-sensitive.

Gibt zurück

Eine aufzählbare Auflistung der vollständigen Namen (einschließlich Pfade) für die Verzeichnisse im Verzeichnis, das von path angegeben wird.An enumerable collection of the full names (including paths) for the directories in the directory specified by path.

Ausnahmen

path ist eine Zeichenfolge der Länge 0 (null), die nur Leerraum oder ungültige Zeichen enthält.path is a zero-length string, contains only white space, or contains invalid characters. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars()-Methode ausführen.You can query for invalid characters by using the GetInvalidPathChars() method.

path ist ungültig (verweist z. B. auf ein nicht zugeordnetes Laufwerk).path is invalid, such as referring to an unmapped drive.

path ist ein Dateiname.path is a file name.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.The specified path, file name, or combined exceed the system-defined maximum length.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

Beispiele

Im folgenden Beispiel werden die Verzeichnisse der obersten Ebene in einem angegebenen Pfad aufgelistet.The following example enumerates the top-level directories in a specified path.

using System;
using System.Collections.Generic;
using System.IO;

class Program
{
    private static void Main(string[] args)
    {
        try
        {
            // Set a variable to the My Documents path.
            string docPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

            List<string> dirs = new List<string>(Directory.EnumerateDirectories(docPath));
                    
            foreach (var dir in dirs)
            {
                Console.WriteLine($"{dir.Substring(dir.LastIndexOf(Path.DirectorySeparatorChar) + 1)}");
            }
            Console.WriteLine($"{dirs.Count} directories found.");
        }
        catch (UnauthorizedAccessException ex)
        {
            Console.WriteLine(ex.Message);
        }
        catch (PathTooLongException ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
}
Imports System.Collections.Generic
Imports System.IO

Module Module1

    Sub Main()
        Try
            Dim dirPath As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

            Dim dirs As List(Of String) = New List(Of String)(Directory.EnumerateDirectories(dirPath))

            For Each folder In dirs
                Console.WriteLine($"{dir.Substring(dir.LastIndexOf(Path.DirectorySeparatorChar) + 1)}")
            Next
            Console.WriteLine($"{dirs.Count} directories found.")
        Catch ex As UnauthorizedAccessException
            Console.WriteLine(ex.Message)
        Catch ex As PathTooLongException
            Console.WriteLine(ex.Message)
        End Try

    End Sub
End Module

Hinweise

Sie können relative oder absolute Pfadinformationen im path -Parameter angeben.You can specify relative or absolute path information in the path parameter. Relative Pfadinformationen werden als relativ zum aktuellen Arbeitsverzeichnis interpretiert, das Sie mithilfe der GetCurrentDirectory -Methode ermitteln können.Relative path information is interpreted as relative to the current working directory, which you can determine by using the GetCurrentDirectory method. Die zurückgegebenen Verzeichnisnamen weisen den Wert, den Sie im- path Parameter angegeben haben, als Präfix zu.The returned directory names are prefixed with the value you provided in the path parameter. Wenn Sie z. b. einen relativen Pfad im path -Parameter angeben, enthalten die zurückgegebenen Verzeichnisnamen einen relativen Pfad.For example, if you provide a relative path in the path parameter, the returned directory names will contain a relative path.

Die EnumerateDirectories Methoden GetDirectories und unterscheiden sich wie folgt: Wenn Sie verwenden EnumerateDirectories, können Sie mit dem Auflisten der Auflistung von Namen beginnen, bevor die gesamte Auflistung zurückgegeben wird. Wenn GetDirectoriesSie verwenden, müssen Sie darauf warten, dass das gesamte Array von Namen zurückgegeben wird, bevor Sie auf das Array zugreifen können.The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array. Wenn Sie also mit vielen Dateien und Verzeichnissen arbeiten, EnumerateDirectories kann effizienter sein.Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.

Die zurückgegebene Auflistung wird nicht zwischengespeichert. Jeder-Befehl für GetEnumerator die-Auflistung startet eine neue-Enumeration.The returned collection is not cached; each call to the GetEnumerator on the collection will start a new enumeration.

EnumerateDirectories(String, String) EnumerateDirectories(String, String) EnumerateDirectories(String, String) EnumerateDirectories(String, String)

Gibt eine aufzählbare Auflistung von Verzeichnisnamen zurück, die einem Suchmuster in einem angegebenen Pfad entsprechen.Returns an enumerable collection of directory names that match a search pattern in a specified path.

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path, System::String ^ searchPattern);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path, string searchPattern);
static member EnumerateDirectories : string * string -> seq<string>
Public Shared Function EnumerateDirectories (path As String, searchPattern As String) As IEnumerable(Of String)

Parameter

path
String String String String

Der relative oder absolute Pfad zum Verzeichnis, das durchsucht werden soll.The relative or absolute path to the directory to search. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht berücksichtigt.This string is not case-sensitive.

searchPattern
String String String String

Die Suchzeichenfolge für die Überprüfung der Namen von Verzeichnissen in path auf Übereinstimmungen.The search string to match against the names of directories in path. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Platzhalterzeichen (* und ?) enthalten, unterstützt jedoch keine regulären Ausdrücke.This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions.

Gibt zurück

Eine aufzählbare Auflistung der vollständigen Namen (einschließlich Pfade) für die Verzeichnisse im Verzeichnis, das von path angegebenen wird und der angegebene Suchmuster entsprechen.An enumerable collection of the full names (including paths) for the directories in the directory specified by path and that match the specified search pattern.

Ausnahmen

path ist eine Zeichenfolge der Länge 0 (null), die nur Leerraum oder ungültige Zeichen enthält.path is a zero-length string, contains only white space, or contains invalid characters. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars()-Methode ausführen.You can query for invalid characters with the GetInvalidPathChars() method.

- oder --or- searchPattern enthält kein gültiges Muster.searchPattern does not contain a valid pattern.

path ist null.path is null.

- oder - -or- searchPattern ist null.searchPattern is null.

path ist ungültig (verweist z. B. auf ein nicht zugeordnetes Laufwerk).path is invalid, such as referring to an unmapped drive.

path ist ein Dateiname.path is a file name.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.The specified path, file name, or combined exceed the system-defined maximum length.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

Beispiele

Im folgenden Beispiel werden die Verzeichnisse der obersten Ebene in einem angegebenen Pfad aufgelistet, die einem angegebenen Suchmuster entsprechen.The following example enumerates the top-level directories in a specified path that match a specified search pattern.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

class Program
{

    private static void Main(string[] args)
    {
        try
        {
            string dirPath = @"\\archives\2009\reports";
            
            // LINQ query.
            var dirs = from dir in 
                     Directory.EnumerateDirectories(dirPath, "dv_*")
                       select dir;

            // Show results.
            foreach (var dir in dirs)
            {
                // Remove path information from string.
                Console.WriteLine("{0}", 
                    dir.Substring(dir.LastIndexOf("\\") + 1));

            }
            Console.WriteLine("{0} directories found.", 
                dirs.Count<string>().ToString());

            // Optionally create a List collection.
            List<string> workDirs = new List<string>(dirs);
        }
        catch (UnauthorizedAccessException UAEx)
        {
            Console.WriteLine(UAEx.Message);
        }
        catch (PathTooLongException PathEx)
        {
            Console.WriteLine(PathEx.Message);
        }
    }
}
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq

Module Module1

    Sub Main()
        Try
            Dim dirPath As String = "\\archives\2009\reports"

            ' LINQ query.
            Dim dirs = From folder In _
                Directory.EnumerateDirectories(dirPath, "dv_*")
            For Each folder In dirs
                ' Remove path infomration from string.
                Console.WriteLine("{0}", _
                        folder.Substring(folder.LastIndexOf("\") + 1))
            Next
            Console.WriteLine("{0} directories found.", _
                dirs.Count.ToString())

            ' Optionally create a List collection.
            Dim workDirs As List(Of String) = New List(Of String)

        Catch UAEx As UnauthorizedAccessException
            Console.WriteLine(UAEx.Message)
        Catch PathEx As PathTooLongException
            Console.WriteLine(PathEx.Message)
        End Try
    End Sub
End Module

Hinweise

searchPattern kann eine Kombination von Literal-und Platzhalterzeichen, jedoch werden reguläre Ausdrücke nicht unterstützt.searchPattern can be a combination of literal and wildcard characters, but it doesn't support regular expressions. Die folgenden Platzhalter spezifiatoren sind in searchPatternzulässig.The following wildcard specifiers are permitted in searchPattern.

Platzhalter BezeichnerWildcard specifier ÜbereinstimmungenMatches
* (Sternchen)* (asterisk) NULL oder mehr Zeichen an dieser Position.Zero or more characters in that position.
?? (Fragezeichen)(question mark) NULL oder ein Zeichen an dieser Position.Zero or one character in that position.

Andere Zeichen als der Platzhalter sind Literalzeichen.Characters other than the wildcard are literal characters. Die searchPattern Zeichenfolge "*t" path sucht z. b. nach allen Namen, die mit dem Buchstaben "t" enden.For example, the searchPattern string "*t" searches for all names in path ending with the letter "t". Die searchPattern Zeichenfolge "*s" path sucht nach allen Namen, die mit dem Buchstaben "s" beginnen.The searchPattern string "s*" searches for all names in path beginning with the letter "s".

searchPatterndarf nicht mit zwei Punkten ("..") enden oder zwei Punkte ("..") enthalten, DirectorySeparatorChar auf AltDirectorySeparatorChardie oder folgt, und kann keine ungültigen Zeichen enthalten.searchPattern cannot end in two periods ("..") or contain two periods ("..") followed by DirectorySeparatorChar or AltDirectorySeparatorChar, nor can it contain any invalid characters. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars-Methode ausführen.You can query for invalid characters by using the GetInvalidPathChars method.

Sie können relative oder absolute Pfadinformationen im path -Parameter angeben.You can specify relative or absolute path information in the path parameter. Relative Pfadinformationen werden als relativ zum aktuellen Arbeitsverzeichnis interpretiert, das Sie mithilfe der GetCurrentDirectory -Methode ermitteln können.Relative path information is interpreted as relative to the current working directory, which you can determine by using the GetCurrentDirectory method. Die zurückgegebenen Verzeichnisnamen weisen den Wert, den Sie im- path Parameter angegeben haben, als Präfix zu.The returned directory names are prefixed with the value you provided in the path parameter. Wenn Sie z. b. einen relativen Pfad im path -Parameter angeben, enthalten die zurückgegebenen Verzeichnisnamen einen relativen Pfad.For example, if you provide a relative path in the path parameter, the returned directory names will contain a relative path.

Die EnumerateDirectories Methoden GetDirectories und unterscheiden sich wie folgt: Wenn Sie verwenden EnumerateDirectories, können Sie mit dem Auflisten der Auflistung von Namen beginnen, bevor die gesamte Auflistung zurückgegeben wird. Wenn GetDirectoriesSie verwenden, müssen Sie darauf warten, dass das gesamte Array von Namen zurückgegeben wird, bevor Sie auf das Array zugreifen können.The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array. Wenn Sie also mit vielen Dateien und Verzeichnissen arbeiten, EnumerateDirectories kann effizienter sein.Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.

Die zurückgegebene Auflistung wird nicht zwischengespeichert. Jeder-Befehl für GetEnumerator die-Auflistung startet eine neue-Enumeration.The returned collection is not cached; each call to the GetEnumerator on the collection will start a new enumeration.

EnumerateDirectories(String, String, EnumerationOptions) EnumerateDirectories(String, String, EnumerationOptions) EnumerateDirectories(String, String, EnumerationOptions)

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path, System::String ^ searchPattern, System::IO::EnumerationOptions ^ enumerationOptions);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path, string searchPattern, System.IO.EnumerationOptions enumerationOptions);
static member EnumerateDirectories : string * string * System.IO.EnumerationOptions -> seq<string>

Parameter

searchPattern
String String String String

Gibt zurück

EnumerateDirectories(String, String, SearchOption) EnumerateDirectories(String, String, SearchOption) EnumerateDirectories(String, String, SearchOption)

Gibt eine aufzählbare Auflistung von Verzeichnisnamen zurück, die einem Suchmuster in einem angegebenen Pfad entsprechen. Optional werden Unterverzeichnisse durchsucht.Returns an enumerable collection of directory names that match a search pattern in a specified path, and optionally searches subdirectories.

public:
 static System::Collections::Generic::IEnumerable<System::String ^> ^ EnumerateDirectories(System::String ^ path, System::String ^ searchPattern, System::IO::SearchOption searchOption);
public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path, string searchPattern, System.IO.SearchOption searchOption);
static member EnumerateDirectories : string * string * System.IO.SearchOption -> seq<string>

Parameter

path
String String String String

Der relative oder absolute Pfad zum Verzeichnis, das durchsucht werden soll.The relative or absolute path to the directory to search. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht berücksichtigt.This string is not case-sensitive.

searchPattern
String String String String

Die Suchzeichenfolge für die Überprüfung der Namen von Verzeichnissen in path auf Übereinstimmungen.The search string to match against the names of directories in path. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Platzhalterzeichen (* und ?) enthalten, unterstützt jedoch keine regulären Ausdrücke.This parameter can contain a combination of valid literal path and wildcard (* and ?) characters, but it doesn't support regular expressions.

searchOption
SearchOption SearchOption SearchOption SearchOption

Einer der Enumerationswerte, der angibt, ob nur das aktuelle Verzeichnis oder auch alle Unterverzeichnisse durchsucht werden sollen.One of the enumeration values that specifies whether the search operation should include only the current directory or should include all subdirectories.

Der Standardwert ist TopDirectoryOnly.The default value is TopDirectoryOnly.

Gibt zurück

Eine aufzählbare Auflistung der vollständigen Namen (einschließlich Pfade) für die Verzeichnisse im Verzeichnis, das von path angegebenen wird und der angegebene Suchmuster und Option entsprechen.An enumerable collection of the full names (including paths) for the directories in the directory specified by path and that match the specified search pattern and option.

Ausnahmen

path ist eine Zeichenfolge der Länge 0 (null), die nur Leerraum oder ungültige Zeichen enthält.path is a zero-length string, contains only white space, or contains invalid characters. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars()-Methode ausführen.You can query for invalid characters by using the GetInvalidPathChars() method.

- oder - -or- searchPattern enthält kein gültiges Muster.searchPattern does not contain a valid pattern.

path ist null.path is null.

- oder - -or- searchPattern ist null.searchPattern is null.

path ist ungültig (verweist z. B. auf ein nicht zugeordnetes Laufwerk).path is invalid, such as referring to an unmapped drive.

path ist ein Dateiname.path is a file name.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.The specified path, file name, or combined exceed the system-defined maximum length.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

Beispiele

Im folgenden Beispiel werden Verzeichnisse in einem angegebenen Pfad aufgelistet, die einem angegebenen Suchmuster entsprechen.The following example enumerates directories in a specified path that match a specified search pattern. Er verwendet den searchOption -Parameter, um anzugeben, dass alle Unterverzeichnisse in die Suche eingeschlossen werden sollen.It uses the searchOption parameter to specify that all subdirectories should be included in the search.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

class Program
{

    private static void Main(string[] args)
    {
        try
        {
            string dirPath = @"\\archives\2009\reports";
            
            // LINQ query.
            var dirs = from dir in 
                     Directory.EnumerateDirectories(dirPath, "dv_*",
                        SearchOption.AllDirectories)
                       select dir;

            // Show results.
            foreach (var dir in dirs)
            {
                // Remove path information from string.
                Console.WriteLine("{0}", 
                    dir.Substring(dir.LastIndexOf("\\") + 1));

            }
            Console.WriteLine("{0} directories found.", 
                dirs.Count<string>().ToString());

            // Optionally create a List collection.
            List<string> workDirs = new List<string>(dirs);
        }
        catch (UnauthorizedAccessException UAEx)
        {
            Console.WriteLine(UAEx.Message);
        }
        catch (PathTooLongException PathEx)
        {
            Console.WriteLine(PathEx.Message);
        }
    }
}
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq

Module Module1

    Sub Main()
        Try
            Dim dirPath As String = "\\archives\2009\reports"

            ' LINQ query.
            Dim dirs = From folder In _
                Directory.EnumerateDirectories(dirPath, "dv_*", _
                    SearchOption.AllDirectories)
            For Each folder In dirs
                ' Remove path infomration from string.
                Console.WriteLine("{0}", _
                        folder.Substring(folder.LastIndexOf("\") + 1))
            Next
            Console.WriteLine("{0} directories found.", _
                dirs.Count.ToString())

            ' Optionally create a List collection.
            Dim workDirs As List(Of String) = New List(Of String)

        Catch UAEx As UnauthorizedAccessException
            Console.WriteLine(UAEx.Message)
        Catch PathEx As PathTooLongException
            Console.WriteLine(PathEx.Message)
        End Try
    End Sub
End Module

Hinweise

searchPattern kann eine Kombination von Literal-und Platzhalterzeichen, jedoch werden reguläre Ausdrücke nicht unterstützt.searchPattern can be a combination of literal and wildcard characters, but it doesn't support regular expressions. Die folgenden Platzhalter spezifiatoren sind in searchPatternzulässig.The following wildcard specifiers are permitted in searchPattern.

Platzhalter BezeichnerWildcard specifier ÜbereinstimmungenMatches
* (Sternchen)* (asterisk) NULL oder mehr Zeichen an dieser Position.Zero or more characters in that position.
?? (Fragezeichen)(question mark) Genau ein Zeichen an dieser Position.Exactly one character in that position.

Andere Zeichen als der Platzhalter sind Literalzeichen.Characters other than the wildcard are literal characters. Die searchPattern Zeichenfolge "*t" path sucht z. b. nach allen Namen, die mit dem Buchstaben "t" enden.For example, the searchPattern string "*t" searches for all names in path ending with the letter "t". Die searchPattern Zeichenfolge "*s" path sucht nach allen Namen, die mit dem Buchstaben "s" beginnen.The searchPattern string "s*" searches for all names in path beginning with the letter "s".

searchPatterndarf nicht mit zwei Punkten ("..") enden oder zwei Punkte ("..") enthalten, DirectorySeparatorChar auf AltDirectorySeparatorChardie oder folgt, und kann keine ungültigen Zeichen enthalten.searchPattern cannot end in two periods ("..") or contain two periods ("..") followed by DirectorySeparatorChar or AltDirectorySeparatorChar, nor can it contain any invalid characters. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars-Methode ausführen.You can query for invalid characters by using the GetInvalidPathChars method.

Sie können relative oder absolute Pfadinformationen im path -Parameter angeben.You can specify relative or absolute path information in the path parameter. Relative Pfadinformationen werden als relativ zum aktuellen Arbeitsverzeichnis interpretiert, das Sie mithilfe der GetCurrentDirectory -Methode ermitteln können.Relative path information is interpreted as relative to the current working directory, which you can determine by using the GetCurrentDirectory method. Die zurückgegebenen Verzeichnisnamen weisen den Wert, den Sie im- path Parameter angegeben haben, als Präfix zu.The returned directory names are prefixed with the value you provided in the path parameter. Wenn Sie z. b. einen relativen Pfad im path -Parameter angeben, enthalten die zurückgegebenen Verzeichnisnamen einen relativen Pfad.For example, if you provide a relative path in the path parameter, the returned directory names will contain a relative path.

Die EnumerateDirectories Methoden GetDirectories und unterscheiden sich wie folgt: Wenn Sie verwenden EnumerateDirectories, können Sie mit dem Auflisten der Auflistung von Namen beginnen, bevor die gesamte Auflistung zurückgegeben wird. Wenn GetDirectoriesSie verwenden, müssen Sie darauf warten, dass das gesamte Array von Namen zurückgegeben wird, bevor Sie auf das Array zugreifen können.The EnumerateDirectories and GetDirectories methods differ as follows: When you use EnumerateDirectories, you can start enumerating the collection of names before the whole collection is returned; when you use GetDirectories, you must wait for the whole array of names to be returned before you can access the array. Wenn Sie also mit vielen Dateien und Verzeichnissen arbeiten, EnumerateDirectories kann effizienter sein.Therefore, when you are working with many files and directories, EnumerateDirectories can be more efficient.

Die zurückgegebene Auflistung wird nicht zwischengespeichert. Jeder-Befehl für GetEnumerator die-Auflistung startet eine neue-Enumeration.The returned collection is not cached; each call to the GetEnumerator on the collection will start a new enumeration.

Gilt für: