Directory.EnumerateDirectories Methode

Definition

Gibt eine aufzählbare Sammlung von vollständigen Verzeichnisnamen zurück, die bestimmte Kriterien erfüllen.

Überlädt

EnumerateDirectories(String)

Gibt eine aufzählbare Sammlung von vollständigen Verzeichnisnamen in einem angegebenen Pfad zurück.

EnumerateDirectories(String, String)

Gibt eine aufzählbare Sammlung von vollständigen Verzeichnisnamen zurück, die einem Suchmuster in einem angegebenen Pfad entsprechen.

EnumerateDirectories(String, String, EnumerationOptions)

Gibt eine aufzählbare Sammlung der vollständigen Verzeichnisnamen zurück, die einem Suchmuster in einem angegebenen Pfad entsprechen. Optional werden Unterverzeichnisse durchsucht.

EnumerateDirectories(String, String, SearchOption)

Gibt eine aufzählbare Sammlung von vollständigen Verzeichnisnamen zurück, die einem Suchmuster in einem angegebenen Pfad entsprechen. Optional werden Unterverzeichnisse durchsucht.

EnumerateDirectories(String)

Quelle:
Directory.cs
Quelle:
Directory.cs
Quelle:
Directory.cs

Gibt eine aufzählbare Sammlung von vollständigen Verzeichnisnamen in einem angegebenen Pfad zurück.

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

Der relative oder absolute Pfad zum Verzeichnis, das durchsucht werden soll. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht berücksichtigt.

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.

Ausnahmen

.NET Framework- und .NET Core-Versionen älter als 2.1: path ist eine Zeichenfolge der Länge null, enthält nur Leerzeichen oder ungültige Zeichen. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars()-Methode ausführen.

path ist null.

path ist ungültig (verweist z. B. auf ein nicht zugeordnetes Laufwerk).

path ist ein Dateiname.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Beispiele

Im folgenden Beispiel werden die Verzeichnisse der obersten Ebene in einem angegebenen Pfad aufgelistet.

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);
        }
    }
}
open System
open System.IO

try
    // Set a variable to the My Documents path.
    let docPath = Environment.GetFolderPath Environment.SpecialFolder.MyDocuments

    let dirs = Directory.EnumerateDirectories docPath |> Seq.toList

    for dir in dirs do
        printfn $"{dir.Substring(dir.LastIndexOf Path.DirectorySeparatorChar + 1)}"
    printfn $"{dirs.Length} directories found."

with
| :? UnauthorizedAccessException as ex ->
    printfn $"{ex.Message}"
| :? PathTooLongException as ex ->
    printfn $"{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. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert, das Sie mithilfe der GetCurrentDirectory -Methode ermitteln können. Den zurückgegebenen Verzeichnisnamen wird der Wert vorangestellt, den path Sie im Parameter angegeben haben. Wenn Sie beispielsweise einen relativen Pfad im path Parameter angeben, enthalten die zurückgegebenen Verzeichnisnamen einen relativen Pfad.

Die EnumerateDirectories Methoden und GetDirectories unterscheiden sich wie folgt: Wenn Sie EnumerateDirectoriesverwenden, können Sie mit der Auflistung der Namen beginnen, bevor die gesamte Auflistung zurückgegeben wird. Wenn Sie verwenden GetDirectories, müssen Sie warten, bis das gesamte Array von Namen zurückgegeben wird, bevor Sie auf das Array zugreifen können. Wenn Sie mit vielen Dateien und Verzeichnissen arbeiten, EnumerateDirectories kann es daher effizienter sein.

Die zurückgegebene Sammlung wird nicht zwischengespeichert. Jeder Aufruf von für GetEnumerator die Auflistung startet eine neue Enumeration.

Gilt für:

EnumerateDirectories(String, String)

Quelle:
Directory.cs
Quelle:
Directory.cs
Quelle:
Directory.cs

Gibt eine aufzählbare Sammlung von vollständigen Verzeichnisnamen zurück, die einem Suchmuster in einem angegebenen Pfad entsprechen.

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

Der relative oder absolute Pfad zum Verzeichnis, das durchsucht werden soll. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht berücksichtigt.

searchPattern
String

Die Suchzeichenfolge für die Überprüfung der Namen von Verzeichnissen in path auf Übereinstimmungen. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Platzhalterzeichen (* und ?) enthalten, unterstützt jedoch keine regulären Ausdrücke.

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.

Ausnahmen

.NET Framework- und .NET Core-Versionen älter als 2.1: path ist eine Zeichenfolge der Länge null, enthält nur Leerzeichen oder ungültige Zeichen. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars()-Methode ausführen.

- oder -

searchPattern enthält kein gültiges Muster.

path ist null.

- oder -

searchPattern ist null.

path ist ungültig (verweist z. B. auf ein nicht zugeordnetes Laufwerk).

path ist ein Dateiname.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Beispiele

Im folgenden Beispiel werden die Verzeichnisse der obersten Ebene in einem angegebenen Pfad aufgelistet, die einem angegebenen Suchmuster entsprechen.

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);
        }
    }
}
open System
open System.IO

try
    let dirPath = @"\\archives\2009\reports"

    let dirs = 
        Directory.EnumerateDirectories(dirPath, "dv_*")
        |> Seq.cache

    // Show results.
    for dir in dirs do
        // Remove path information from string.
        printfn $"{dir.Substring(dir.LastIndexOf '\\' + 1)}"
    printfn $"{Seq.length dirs} directories found."

    // Optionally create a list collection.
    let workDirs = Seq.toList dirs
    ()
    
with 
| :? UnauthorizedAccessException as uaEx ->
    printfn $"{uaEx.Message}"
| :? PathTooLongException as pathEx ->
    printfn $"{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. Die folgenden Wildcard-Spezifizierer sind in searchPatternzulässig.

Wildcard-Spezifizierer Treffer
* (Sternchen) Null oder mehr Zeichen an dieser Position.
? (Fragezeichen) Genau ein Zeichen in dieser Position.

Andere Zeichen als das Feldhalter sind Literalzeichen. Die Zeichenfolge "*t" sucht beispielsweise nach allen Namen, searchPatternpath die mit dem Buchstaben "t" enden. Die searchPattern Zeichenfolge "s*" sucht nach allen Namen, path die mit dem Buchstaben "s" beginnen.

searchPattern kann nicht in zwei Perioden ("..") enden oder zwei Punkte ("..") gefolgt von DirectorySeparatorChar oder AltDirectorySeparatorCharenthalten, und es kann auch keine ungültigen Zeichen enthalten. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars-Methode ausführen.

Sie können relative oder absolute Pfadinformationen im path Parameter angeben. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert, das Sie mithilfe der GetCurrentDirectory -Methode ermitteln können. Den zurückgegebenen Verzeichnisnamen wird der Wert vorangestellt, den path Sie im Parameter angegeben haben. Wenn Sie beispielsweise einen relativen Pfad im path Parameter angeben, enthalten die zurückgegebenen Verzeichnisnamen einen relativen Pfad.

Die EnumerateDirectories Methoden und GetDirectories unterscheiden sich wie folgt: Wenn Sie EnumerateDirectoriesverwenden, können Sie mit der Auflistung der Namen beginnen, bevor die gesamte Auflistung zurückgegeben wird. Wenn Sie verwenden GetDirectories, müssen Sie warten, bis das gesamte Array von Namen zurückgegeben wird, bevor Sie auf das Array zugreifen können. Wenn Sie mit vielen Dateien und Verzeichnissen arbeiten, EnumerateDirectories kann es daher effizienter sein.

Die zurückgegebene Sammlung wird nicht zwischengespeichert. Jeder Aufruf von für GetEnumerator die Auflistung startet eine neue Enumeration.

Gilt für:

EnumerateDirectories(String, String, EnumerationOptions)

Quelle:
Directory.cs
Quelle:
Directory.cs
Quelle:
Directory.cs

Gibt eine aufzählbare Sammlung der vollständigen Verzeichnisnamen zurück, die einem Suchmuster in einem angegebenen Pfad entsprechen. Optional werden Unterverzeichnisse durchsucht.

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>
Public Shared Function EnumerateDirectories (path As String, searchPattern As String, enumerationOptions As EnumerationOptions) As IEnumerable(Of String)

Parameter

path
String

Der relative oder absolute Pfad zum Verzeichnis, das durchsucht werden soll. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht berücksichtigt.

searchPattern
String

Die Suchzeichenfolge für die Überprüfung der Namen von Verzeichnissen in path auf Übereinstimmungen. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Platzhalterzeichen (* und ?) enthalten, unterstützt jedoch keine regulären Ausdrücke.

enumerationOptions
EnumerationOptions

Ein Objekt, das die zu verwendende Such- und Enumerationskonfiguration beschreibt.

Gibt zurück

Eine aufzählbare Auflistung der vollständigen Namen (einschließlich Pfade) für die Verzeichnisse im Verzeichnis, die von path angegeben werden und dem angegebenen Suchmuster und den angegebenen Enumerationsoptionen entsprechen.

Ausnahmen

.NET Framework- und .NET Core-Versionen älter als 2.1: path ist eine Zeichenfolge der Länge null, enthält nur Leerzeichen oder ungültige Zeichen. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars()-Methode ausführen.

- oder -

searchPattern enthält kein gültiges Muster.

path oder searchPattern ist null.

searchOption ist kein gültiger SearchOption -Wert.

path ist ungültig (verweist z. B. auf ein nicht zugeordnetes Laufwerk).

path ist ein Dateiname.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Hinweise

searchPattern kann eine Kombination von Literal-und Platzhalterzeichen, jedoch werden reguläre Ausdrücke nicht unterstützt. Die folgenden Wildcard-Spezifizierer sind in searchPatternzulässig.

Wildcard-Spezifizierer Treffer
* (Sternchen) Null oder mehr Zeichen an dieser Position.
? (Fragezeichen) Genau ein Zeichen in dieser Position.

Andere Zeichen als das Feldhalter sind Literalzeichen. Die Zeichenfolge "*t" sucht beispielsweise nach allen Namen, searchPatternpath die mit dem Buchstaben "t" enden. Die searchPattern Zeichenfolge "s*" sucht nach allen Namen, path die mit dem Buchstaben "s" beginnen.

searchPattern kann nicht in zwei Perioden ("..") enden oder zwei Punkte ("..") gefolgt von DirectorySeparatorChar oder AltDirectorySeparatorCharenthalten, und es kann auch keine ungültigen Zeichen enthalten. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars-Methode ausführen.

Sie können relative oder absolute Pfadinformationen im path Parameter angeben. Relative Pfadinformationen werden als relativ zum aktuellen Arbeitsverzeichnis interpretiert, das Sie mithilfe der GetCurrentDirectory -Methode ermitteln können. Den zurückgegebenen Verzeichnisnamen wird der Wert vorangestellt, den path Sie im Parameter angegeben haben. Wenn Sie beispielsweise einen relativen Pfad im path Parameter angeben, enthalten die zurückgegebenen Verzeichnisnamen einen relativen Pfad.

Die EnumerateDirectories Methoden und GetDirectories unterscheiden sich wie folgt: Wenn Sie verwenden EnumerateDirectories, können Sie mit dem Aufzählen der Auflistung von Namen beginnen, bevor die gesamte Auflistung zurückgegeben wird. Wenn Sie verwenden GetDirectories, müssen Sie warten, bis das gesamte Array von Namen zurückgegeben wird, bevor Sie auf das Array zugreifen können. Daher kann es effizienter sein, EnumerateDirectories wenn Sie mit vielen Dateien und Verzeichnissen arbeiten.

Die zurückgegebene Auflistung wird nicht zwischengespeichert. Jeder Aufruf von für GetEnumerator die Auflistung startet eine neue Enumeration.

Gilt für:

EnumerateDirectories(String, String, SearchOption)

Quelle:
Directory.cs
Quelle:
Directory.cs
Quelle:
Directory.cs

Gibt eine aufzählbare Sammlung von vollständigen Verzeichnisnamen zurück, die einem Suchmuster in einem angegebenen Pfad entsprechen. Optional werden Unterverzeichnisse durchsucht.

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>
Public Shared Function EnumerateDirectories (path As String, searchPattern As String, searchOption As SearchOption) As IEnumerable(Of String)

Parameter

path
String

Der relative oder absolute Pfad zum Verzeichnis, das durchsucht werden soll. Bei dieser Zeichenfolge wird die Groß-/Kleinschreibung nicht berücksichtigt.

searchPattern
String

Die Suchzeichenfolge für die Überprüfung der Namen von Verzeichnissen in path auf Übereinstimmungen. Dieser Parameter kann eine Kombination aus gültigen Literalpfad- und Platzhalterzeichen (* und ?) enthalten, unterstützt jedoch keine regulären Ausdrücke.

searchOption
SearchOption

Einer der Enumerationswerte, der angibt, ob nur das aktuelle Verzeichnis oder auch alle Unterverzeichnisse durchsucht werden sollen. Der Standardwert ist TopDirectoryOnly.

Gibt zurück

Eine aufzählbare Auflistung der vollständigen Namen (einschließlich Pfade) für die Verzeichnisse im Verzeichnis, die von path angegeben werden und dem angegebenen Suchmuster und der angegebenen Suchoptionen entsprechen.

Ausnahmen

.NET Framework und .NET Core-Versionen älter als 2.1: path ist eine Zeichenfolge der Länge Null, enthält nur Leerzeichen oder ungültige Zeichen. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars()-Methode ausführen.

- oder -

searchPattern enthält kein gültiges Muster.

path ist null.

- oder -

searchPattern ist null.

searchOption ist kein gültiger SearchOption -Wert.

path ist ungültig (verweist z. B. auf ein nicht zugeordnetes Laufwerk).

path ist ein Dateiname.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Beispiele

Im folgenden Beispiel werden Verzeichnisse in einem angegebenen Pfad aufgelistet, die einem angegebenen Suchmuster entsprechen. Er verwendet den searchOption -Parameter, um anzugeben, dass alle Unterverzeichnisse in die Suche einbezogen werden sollen.

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);
        }
    }
}
open System
open System.IO

try
    let dirPath = @"\\archives\2009\reports"

    let dirs =
        Directory.EnumerateDirectories(dirPath, "dv_*", SearchOption.AllDirectories)
        |> Seq.cache

    // Show results.
    for dir in dirs do
        // Remove path information from string.
        printfn $"{dir.Substring(dir.LastIndexOf '\\' + 1)}"
    printfn $"{Seq.length dirs} directories found."

    // Optionally create a List collection.
    let workDirs = Seq.toList dirs
    ()

with 
| :? UnauthorizedAccessException as uaEx ->
    printfn $"{uaEx.Message}"
| :? PathTooLongException as pathEx ->
    printfn $"{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. Die folgenden Wildcardspezifizierer sind in searchPatternzulässig.

Wildcard-Spezifizierer Treffer
* (Sternchen) Null oder mehr Zeichen an dieser Position.
? (Fragezeichen) Genau ein Zeichen an dieser Position.

Andere Zeichen als das Wildcard sind Literalzeichen. Beispielsweise sucht die searchPattern Zeichenfolge "*t" nach allen Namen, path die mit dem Buchstaben "t" enden. Die searchPattern Zeichenfolge "s*" sucht nach allen Namen, path die mit dem Buchstaben "s" beginnen.

searchPattern darf nicht mit zwei Punkten ("..") enden oder zwei Punkte ("..") gefolgt von DirectorySeparatorChar oder AltDirectorySeparatorCharenthalten, noch darf er ungültige Zeichen enthalten. Sie können Abfragen für ungültige Zeichen mithilfe der GetInvalidPathChars-Methode ausführen.

Sie können relative oder absolute Pfadinformationen im path Parameter angeben. Relative Pfadinformationen werden als relativ zum aktuellen Arbeitsverzeichnis interpretiert, das Sie mithilfe der GetCurrentDirectory -Methode ermitteln können. Den zurückgegebenen Verzeichnisnamen wird der Wert vorangestellt, den path Sie im Parameter angegeben haben. Wenn Sie beispielsweise einen relativen Pfad im path Parameter angeben, enthalten die zurückgegebenen Verzeichnisnamen einen relativen Pfad.

Die EnumerateDirectories Methoden und GetDirectories unterscheiden sich wie folgt: Wenn Sie verwenden EnumerateDirectories, können Sie mit dem Aufzählen der Auflistung von Namen beginnen, bevor die gesamte Auflistung zurückgegeben wird. Wenn Sie verwenden GetDirectories, müssen Sie warten, bis das gesamte Array von Namen zurückgegeben wird, bevor Sie auf das Array zugreifen können. Daher kann es effizienter sein, EnumerateDirectories wenn Sie mit vielen Dateien und Verzeichnissen arbeiten.

Die zurückgegebene Auflistung wird nicht zwischengespeichert. Jeder Aufruf von für GetEnumerator die Auflistung startet eine neue Enumeration.

Gilt für: