Bagikan melalui


DirectoryInfo.EnumerateFiles Metode

Definisi

Mengembalikan kumpulan informasi file yang dapat dijumlahkan dalam direktori saat ini.

Overload

EnumerateFiles()

Mengembalikan kumpulan informasi file yang dapat dijumlahkan dalam direktori saat ini.

EnumerateFiles(String)

Mengembalikan kumpulan informasi file yang dapat dijumlahkan yang cocok dengan pola pencarian.

EnumerateFiles(String, EnumerationOptions)

Mengembalikan kumpulan informasi file yang dapat dijumlahkan yang cocok dengan pola pencarian dan opsi enumerasi yang ditentukan.

EnumerateFiles(String, SearchOption)

Mengembalikan kumpulan informasi file yang dapat dijumlahkan yang cocok dengan pola pencarian tertentu dan opsi subdirektori pencarian.

EnumerateFiles()

Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs

Mengembalikan kumpulan informasi file yang dapat dijumlahkan dalam direktori saat ini.

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)

Mengembalikan

Kumpulan file yang dapat dijumlahkan di direktori saat ini.

Pengecualian

Jalur yang dienkapsulasi dalam DirectoryInfo objek tidak valid (misalnya, berada pada drive yang tidak dipetakan).

Pemanggil tidak memiliki izin yang diperlukan.

Contoh

Contoh berikut menghitung file di bawah direktori tertentu dan menggunakan kueri LINQ untuk mengembalikan nama semua file yang dibuat sebelum 2009 dengan memeriksa nilai CreationTimeUtc properti .

Jika Anda hanya memerlukan nama file, gunakan kelas statis Directory untuk performa yang lebih baik. Misalnya, lihat Directory.EnumerateFiles(String) metode .

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

Contoh berikut menunjukkan cara menghitung file dalam direktori dengan menggunakan opsi pencarian yang berbeda. Contohnya mengasumsikan direktori yang memiliki file bernama log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, dan subdirektori yang memiliki file bernama 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 . . .

Keterangan

Metode EnumerateFiles dan GetFiles berbeda sebagai berikut:

  • Saat Anda menggunakan EnumerateFiles, Anda dapat mulai menghitung koleksi FileInfo objek sebelum seluruh koleksi dikembalikan.

  • Saat Anda menggunakan GetFiles, Anda harus menunggu seluruh array FileInfo objek dikembalikan sebelum Anda dapat mengakses array.

Oleh karena itu, ketika Anda bekerja dengan banyak file dan direktori, EnumerateFiles bisa lebih efisien.

Metode ini telah mengisi nilai properti berikut FileInfo :

Koleksi yang dikembalikan tidak di-cache; setiap panggilan ke GetEnumerator metode pada koleksi akan memulai enumerasi baru.

Berlaku untuk

EnumerateFiles(String)

Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs

Mengembalikan kumpulan informasi file yang dapat dijumlahkan yang cocok dengan pola pencarian.

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)

Parameter

searchPattern
String

String pencarian yang cocok dengan nama file. Parameter ini dapat berisi kombinasi jalur harfiah yang valid dan karakter kartubebas (* dan ?), tetapi tidak mendukung ekspresi reguler.

Mengembalikan

Kumpulan file yang dapat dijumlahkan yang cocok searchPatterndengan .

Pengecualian

searchPatternadalah null.

Jalur yang dienkapsulasi dalam DirectoryInfo objek tidak valid, (misalnya, ada di drive yang tidak dipetakan).

Pemanggil tidak memiliki izin yang diperlukan.

Contoh

Contoh berikut menunjukkan cara menghitung file dalam direktori dengan menggunakan opsi pencarian yang berbeda. Contohnya mengasumsikan direktori yang memiliki file bernama log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, dan subdirektori yang memiliki file bernama 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 . . .

Keterangan

searchPattern dapat berupa kombinasi karakter harfiah dan kartubebas, tetapi tidak mendukung ekspresi reguler. Penentu kartubebas berikut diizinkan di searchPattern.

Penentu kartubebas Cocok
* (tanda bintang) Nol karakter atau lebih dalam posisi tersebut.
? (tanda tanya) Nol atau satu karakter dalam posisi tersebut.

Karakter selain kartubebas adalah karakter harfiah. Misalnya, string "*t" mencari semua nama yang diakhir dengan huruf "t". ". String searchPattern "s*" mencari semua nama di path awal dengan huruf "s".

Metode EnumerateFiles dan GetFiles berbeda sebagai berikut:

  • Saat Anda menggunakan EnumerateFiles, Anda dapat mulai menghitung koleksi FileInfo objek sebelum seluruh koleksi dikembalikan.

  • Saat Anda menggunakan GetFiles, Anda harus menunggu seluruh array FileInfo objek dikembalikan sebelum Anda dapat mengakses array.

Oleh karena itu, ketika Anda bekerja dengan banyak file dan direktori, EnumerateFiles bisa lebih efisien.

Metode ini telah mengisi nilai properti berikut FileInfo :

Koleksi yang dikembalikan tidak di-cache; setiap panggilan ke GetEnumerator metode pada koleksi akan memulai enumerasi baru.

Berlaku untuk

EnumerateFiles(String, EnumerationOptions)

Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs

Mengembalikan kumpulan informasi file yang dapat dijumlahkan yang cocok dengan pola pencarian dan opsi enumerasi yang ditentukan.

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)

Parameter

searchPattern
String

String pencarian yang cocok dengan nama file. Parameter ini dapat berisi kombinasi jalur harfiah yang valid dan karakter kartubebas (* dan ?), tetapi tidak mendukung ekspresi reguler.

enumerationOptions
EnumerationOptions

Objek yang menjelaskan konfigurasi pencarian dan enumerasi untuk digunakan.

Mengembalikan

Kumpulan file yang dapat dijumlahkan yang cocok searchPattern dan enumerationOptions.

Pengecualian

searchPatternadalah null.

Jalur yang dienkapsulasi dalam DirectoryInfo objek tidak valid, (misalnya, ada di drive yang tidak dipetakan).

Pemanggil tidak memiliki izin yang diperlukan.

Keterangan

searchPattern dapat berupa kombinasi karakter harfiah dan kartubebas, tetapi tidak mendukung ekspresi reguler. Penentu kartubebas berikut diizinkan di searchPattern.

Penentu kartubebas Cocok
* (tanda bintang) Nol karakter atau lebih dalam posisi tersebut.
? (tanda tanya) Nol atau satu karakter dalam posisi tersebut.

Karakter selain kartubebas adalah karakter harfiah. Misalnya, string "*t" mencari semua nama yang diakhir dengan huruf "t". ". String searchPattern "s*" mencari semua nama di path awal dengan huruf "s".

Metode EnumerateFiles dan GetFiles berbeda sebagai berikut:

  • Saat Anda menggunakan EnumerateFiles, Anda dapat mulai menghitung koleksi FileInfo objek sebelum seluruh koleksi dikembalikan.

  • Saat Anda menggunakan GetFiles, Anda harus menunggu seluruh array FileInfo objek dikembalikan sebelum Anda dapat mengakses array.

Oleh karena itu, ketika Anda bekerja dengan banyak file dan direktori, EnumerateFiles bisa lebih efisien.

Metode ini telah mengisi nilai properti berikut FileInfo :

Koleksi yang dikembalikan tidak di-cache; setiap panggilan ke GetEnumerator metode pada koleksi akan memulai enumerasi baru.

Berlaku untuk

EnumerateFiles(String, SearchOption)

Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs
Sumber:
DirectoryInfo.cs

Mengembalikan kumpulan informasi file yang dapat dijumlahkan yang cocok dengan pola pencarian tertentu dan opsi subdirektori pencarian.

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)

Parameter

searchPattern
String

String pencarian yang cocok dengan nama file. Parameter ini dapat berisi kombinasi jalur harfiah yang valid dan karakter kartubebas (* dan ?), tetapi tidak mendukung ekspresi reguler.

searchOption
SearchOption

Salah satu nilai enumerasi yang menentukan apakah operasi pencarian hanya boleh menyertakan direktori saat ini atau semua subdirektori. Nilai defaultnya adalah TopDirectoryOnly.

Mengembalikan

Kumpulan file yang dapat dijumlahkan yang cocok searchPattern dan searchOption.

Pengecualian

searchPatternadalah null.

searchOption bukan nilai yang valid SearchOption .

Jalur yang dienkapsulasi dalam DirectoryInfo objek tidak valid (misalnya, berada pada drive yang tidak dipetakan).

Pemanggil tidak memiliki izin yang diperlukan.

Contoh

Contoh berikut menunjukkan cara menghitung file dalam direktori dengan menggunakan opsi pencarian yang berbeda. Contohnya mengasumsikan direktori yang memiliki file bernama log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, dan subdirektori yang memiliki file bernama 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 . . .

Keterangan

searchPattern dapat berupa kombinasi karakter harfiah dan kartubebas, tetapi tidak mendukung ekspresi reguler. Penentu kartubebas berikut diizinkan di searchPattern.

Penentu kartubebas Cocok
* (tanda bintang) Nol karakter atau lebih dalam posisi tersebut.
? (tanda tanya) Nol atau satu karakter dalam posisi tersebut.

Karakter selain kartubebas adalah karakter harfiah. Misalnya, string "*t" mencari semua nama yang diakhir dengan huruf "t". ". String searchPattern "s*" mencari semua nama di path awal dengan huruf "s".

Metode EnumerateFiles dan GetFiles berbeda sebagai berikut:

  • Saat Anda menggunakan EnumerateFiles, Anda dapat mulai menghitung koleksi FileInfo objek sebelum seluruh koleksi dikembalikan.

  • Saat Anda menggunakan GetFiles, Anda harus menunggu seluruh array FileInfo objek dikembalikan sebelum Anda dapat mengakses array.

Oleh karena itu, ketika Anda bekerja dengan banyak file dan direktori, EnumerateFiles bisa lebih efisien.

Metode ini telah mengisi nilai properti berikut FileInfo :

Koleksi yang dikembalikan tidak di-cache; setiap panggilan ke GetEnumerator metode pada koleksi akan memulai enumerasi baru.

Berlaku untuk