Aracılığıyla paylaş


DirectoryInfo.EnumerateFiles Yöntem

Tanım

Geçerli dizindeki dosya bilgilerinin numaralandırılabilir bir koleksiyonunu döndürür.

Aşırı Yüklemeler

EnumerateFiles()

Geçerli dizindeki numaralandırılabilir dosya bilgileri koleksiyonunu döndürür.

EnumerateFiles(String)

Arama deseni ile eşleşen numaralandırılabilir bir dosya bilgileri koleksiyonu döndürür.

EnumerateFiles(String, EnumerationOptions)

Belirtilen arama deseni ve numaralandırma seçenekleriyle eşleşen numaralandırılabilir bir dosya bilgileri koleksiyonu döndürür.

EnumerateFiles(String, SearchOption)

Belirtilen arama deseni ve arama alt dizini seçeneğiyle eşleşen numaralandırılabilir bir dosya bilgileri koleksiyonu döndürür.

EnumerateFiles()

Kaynak:
DirectoryInfo.cs
Kaynak:
DirectoryInfo.cs
Kaynak:
DirectoryInfo.cs

Geçerli dizindeki numaralandırılabilir dosya bilgileri koleksiyonunu döndürür.

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)

Döndürülenler

Geçerli dizindeki dosyaların numaralandırılabilir koleksiyonu.

Özel durumlar

Nesnede DirectoryInfo kapsüllenen yol geçersiz (örneğin, eşlenmemiş bir sürücüde).

Çağıranın gerekli izni yok.

Örnekler

Aşağıdaki örnek, belirtilen dizin altındaki dosyaları numaralandırır ve özelliğin değerini CreationTimeUtc denetleyerek 2009'da oluşturulan tüm dosyaların adlarını döndürmek için LINQ sorgusu kullanır.

Yalnızca dosyaların adlara ihtiyacınız varsa, daha iyi performans için statik Directory sınıfını kullanın. Bir örnek için yöntemine Directory.EnumerateFiles(String) bakın.

// 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

Aşağıdaki örnekte, farklı arama seçeneklerini kullanarak bir dizindeki dosyaların nasıl numaralandırıladığı gösterilmektedir. Örnekte, log1.txt, log2.txt, test1.txt, test2.txt, test3.txt adlı dosyaların ve SubFile.txt adlı bir dosyanın bulunduğu bir alt dizinin bulunduğu bir dizin varsayılır.

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 . . .

Açıklamalar

EnumerateFiles ve GetFiles yöntemleri aşağıdaki gibi farklılık gösterir:

  • kullandığınızda EnumerateFiles, tüm koleksiyon döndürülmeden önce nesne koleksiyonunu FileInfo numaralandırmaya başlayabilirsiniz.

  • kullandığınızda GetFiles, diziye erişebilmeniz için önce nesne dizisinin tamamının FileInfo döndürülmesini beklemeniz gerekir.

Bu nedenle, birçok dosya ve dizinle EnumerateFiles çalışırken daha verimli olabilir.

Bu yöntem, aşağıdaki FileInfo özelliklerin değerlerini önceden doldurur:

Döndürülen koleksiyon önbelleğe alınmaz; koleksiyondaki GetEnumerator yöntemine yapılan her çağrı yeni bir numaralandırma başlatır.

Şunlara uygulanır

EnumerateFiles(String)

Kaynak:
DirectoryInfo.cs
Kaynak:
DirectoryInfo.cs
Kaynak:
DirectoryInfo.cs

Arama deseni ile eşleşen numaralandırılabilir bir dosya bilgileri koleksiyonu döndürür.

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)

Parametreler

searchPattern
String

Dosya adlarına uyması için arama dizesi. Bu parametre geçerli değişmez değer yolu ile joker karakter (* ve ?) karakterlerin bir bileşimini içerebilir, ancak normal ifadeleri desteklemez.

Döndürülenler

ile eşleşen searchPatternnumaralandırılabilir bir dosya koleksiyonu.

Özel durumlar

searchPattern, null değeridir.

Nesnede DirectoryInfo kapsüllenen yol geçersiz (örneğin, eşlenmemiş bir sürücüde).

Çağıranın gerekli izni yok.

Örnekler

Aşağıdaki örnekte, farklı arama seçeneklerini kullanarak bir dizindeki dosyaların nasıl numaralandırıladığı gösterilmektedir. Örnekte, log1.txt, log2.txt, test1.txt, test2.txt, test3.txt adlı dosyaların ve SubFile.txt adlı bir dosyanın bulunduğu bir alt dizinin bulunduğu bir dizin varsayılır.

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 . . .

Açıklamalar

searchPattern değişmez karakter ve joker karakterlerin birleşimi olabilir, ancak normal ifadeleri desteklemez. içinde aşağıdaki joker karakter tanımlayıcılara izin verilir searchPattern.

Joker karakter tanımlayıcısı Eşleşmeler
* (yıldız işareti) Bu konumda sıfır veya daha fazla karakter.
? (soru işareti) Bu konumda sıfır veya bir karakter.

Joker karakter dışındaki karakterler değişmez karakterlerdir. Örneğin, "*t" dizesi "t" harfiyle biten tüm adları arar. ". searchPattern"s*" dizesi, "s" harfiyle başlayan tüm adları path arar.

EnumerateFiles ve GetFiles yöntemleri aşağıdaki gibi farklılık gösterir:

  • kullandığınızda EnumerateFiles, tüm koleksiyon döndürülmeden önce nesne koleksiyonunu FileInfo numaralandırmaya başlayabilirsiniz.

  • kullandığınızda GetFiles, diziye erişebilmeniz için önce nesne dizisinin tamamının FileInfo döndürülmesini beklemeniz gerekir.

Bu nedenle, birçok dosya ve dizinle EnumerateFiles çalışırken daha verimli olabilir.

Bu yöntem, aşağıdaki FileInfo özelliklerin değerlerini önceden doldurur:

Döndürülen koleksiyon önbelleğe alınmaz; koleksiyondaki GetEnumerator yöntemine yapılan her çağrı yeni bir numaralandırma başlatır.

Şunlara uygulanır

EnumerateFiles(String, EnumerationOptions)

Kaynak:
DirectoryInfo.cs
Kaynak:
DirectoryInfo.cs
Kaynak:
DirectoryInfo.cs

Belirtilen arama deseni ve numaralandırma seçenekleriyle eşleşen numaralandırılabilir bir dosya bilgileri koleksiyonu döndürür.

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)

Parametreler

searchPattern
String

Dosya adlarına uyması için arama dizesi. Bu parametre geçerli değişmez değer yolu ile joker karakter (* ve ?) karakterlerin bir bileşimini içerebilir, ancak normal ifadeleri desteklemez.

enumerationOptions
EnumerationOptions

Kullanılacak arama ve numaralandırma yapılandırmasını açıklayan bir nesne.

Döndürülenler

ve enumerationOptionsile eşleşen searchPattern dosyalardan oluşan numaralandırılabilir bir koleksiyon.

Özel durumlar

searchPattern, null değeridir.

Nesnede DirectoryInfo kapsüllenen yol geçersiz (örneğin, eşlenmemiş bir sürücüde).

Çağıranın gerekli izni yok.

Açıklamalar

searchPattern değişmez karakter ve joker karakterlerin birleşimi olabilir, ancak normal ifadeleri desteklemez. içinde aşağıdaki joker karakter tanımlayıcılara izin verilir searchPattern.

Joker karakter tanımlayıcısı Eşleşmeler
* (yıldız işareti) Bu konumda sıfır veya daha fazla karakter.
? (soru işareti) Bu konumda sıfır veya bir karakter.

Joker karakter dışındaki karakterler değişmez karakterlerdir. Örneğin, "*t" dizesi "t" harfiyle biten tüm adları arar. ". searchPattern"s*" dizesi, "s" harfiyle başlayan tüm adları path arar.

EnumerateFiles ve GetFiles yöntemleri aşağıdaki gibi farklılık gösterir:

  • kullandığınızda EnumerateFiles, tüm koleksiyon döndürülmeden önce nesne koleksiyonunu FileInfo numaralandırmaya başlayabilirsiniz.

  • kullandığınızda GetFiles, diziye erişebilmeniz için önce nesne dizisinin tamamının FileInfo döndürülmesini beklemeniz gerekir.

Bu nedenle, birçok dosya ve dizinle EnumerateFiles çalışırken daha verimli olabilir.

Bu yöntem, aşağıdaki FileInfo özelliklerin değerlerini önceden doldurur:

Döndürülen koleksiyon önbelleğe alınmaz; koleksiyondaki GetEnumerator yöntemine yapılan her çağrı yeni bir numaralandırma başlatır.

Şunlara uygulanır

EnumerateFiles(String, SearchOption)

Kaynak:
DirectoryInfo.cs
Kaynak:
DirectoryInfo.cs
Kaynak:
DirectoryInfo.cs

Belirtilen arama deseni ve arama alt dizini seçeneğiyle eşleşen numaralandırılabilir bir dosya bilgileri koleksiyonu döndürür.

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)

Parametreler

searchPattern
String

Dosya adlarına uyması için arama dizesi. Bu parametre geçerli değişmez değer yolu ile joker karakter (* ve ?) karakterlerin bir bileşimini içerebilir, ancak normal ifadeleri desteklemez.

searchOption
SearchOption

Arama işleminin yalnızca geçerli dizini mi yoksa tüm alt dizinleri mi içermesi gerektiğini belirten numaralandırma değerlerinden biri. TopDirectoryOnly varsayılan değerdir.

Döndürülenler

ve searchOptionile eşleşen searchPattern dosyaların numaralandırılabilir koleksiyonu.

Özel durumlar

searchPattern, null değeridir.

searchOption geçerli SearchOption bir değer değil.

Nesnede DirectoryInfo kapsüllenen yol geçersiz (örneğin, eşlenmemiş bir sürücüde).

Çağıranın gerekli izni yok.

Örnekler

Aşağıdaki örnekte, farklı arama seçeneklerini kullanarak bir dizindeki dosyaların nasıl numaralandırıladığı gösterilmektedir. Örnekte, log1.txt, log2.txt, test1.txt, test2.txt, test3.txt adlı dosyaların ve SubFile.txt adlı bir dosyanın bulunduğu bir alt dizinin bulunduğu bir dizin varsayılır.

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 . . .

Açıklamalar

searchPattern değişmez karakter ve joker karakterlerin birleşimi olabilir, ancak normal ifadeleri desteklemez. içinde aşağıdaki joker karakter tanımlayıcılara izin verilir searchPattern.

Joker karakter tanımlayıcısı Eşleşmeler
* (yıldız işareti) Bu konumda sıfır veya daha fazla karakter.
? (soru işareti) Bu konumda sıfır veya bir karakter.

Joker karakter dışındaki karakterler değişmez karakterlerdir. Örneğin, "*t" dizesi "t" harfiyle biten tüm adları arar. ". searchPattern"s*" dizesi, "s" harfiyle başlayan tüm adları path arar.

EnumerateFiles ve GetFiles yöntemleri aşağıdaki gibi farklılık gösterir:

  • kullandığınızda EnumerateFiles, tüm koleksiyon döndürülmeden önce nesne koleksiyonunu FileInfo numaralandırmaya başlayabilirsiniz.

  • kullandığınızda GetFiles, diziye erişebilmeniz için önce nesne dizisinin tamamının FileInfo döndürülmesini beklemeniz gerekir.

Bu nedenle, birçok dosya ve dizinle EnumerateFiles çalışırken daha verimli olabilir.

Bu yöntem, aşağıdaki FileInfo özelliklerin değerlerini önceden doldurur:

Döndürülen koleksiyon önbelleğe alınmaz; koleksiyondaki GetEnumerator yöntemine yapılan her çağrı yeni bir numaralandırma başlatır.

Şunlara uygulanır