DirectoryInfo.EnumerateFiles Método

Definição

Devolve uma coleção enumerável de informação de ficheiro no diretório atual.

Sobrecargas

Name Description
EnumerateFiles()

Devolve uma coleção enumerável de informação de ficheiro no diretório atual.

EnumerateFiles(String)

Devolve uma coleção enumerável de informação de ficheiro que corresponde a um padrão de pesquisa.

EnumerateFiles(String, EnumerationOptions)

Devolve uma coleção enumerável de informação de ficheiro que corresponde ao padrão de pesquisa especificado e às opções de enumeração.

EnumerateFiles(String, SearchOption)

Devolve uma coleção enumerável de informação de ficheiro que corresponde a um padrão de pesquisa especificado e a opção de subdiretório de pesquisa.

EnumerateFiles()

Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs

Devolve uma coleção enumerável de informação de ficheiro no diretório atual.

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)

Devoluções

Uma coleção enumerável dos ficheiros no diretório atual.

Exceções

O caminho encapsulado no DirectoryInfo objeto é inválido (por exemplo, está num disco não mapeado).

O interlocutor não tem a permissão necessária.

Exemplos

O exemplo seguinte enumera os ficheiros sob um diretório especificado e utiliza uma consulta LINQ para devolver os nomes de todos os ficheiros criados antes de 2009, verificando o valor da CreationTimeUtc propriedade.

Se só precisares dos nomes dos ficheiros, usa a classe static Directory para melhor desempenho. Para obter um exemplo, consulte o Directory.EnumerateFiles(String) método.

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

O exemplo seguinte mostra como enumerar ficheiros num diretório usando diferentes opções de pesquisa. O exemplo assume um diretório que contém ficheiros nomeados log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, e um subdiretório que tem um ficheiro chamado 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 . . .

Observações

Os EnumerateFiles métodos e GetFiles diferem da seguinte forma:

  • Quando usas EnumerateFiles, podes começar a enumerar a coleção de FileInfo objetos antes de toda a coleção ser devolvida.

  • Quando usa GetFiles, tem de esperar que todo o array de FileInfo objetos seja devolvido antes de poder aceder ao array.

Por isso, quando trabalha com muitos ficheiros e diretórios, EnumerateFiles pode ser mais eficiente.

Este método preprepreenche os valores das seguintes FileInfo propriedades:

A coleção devolvida não é armazenada em cache; Cada chamada ao GetEnumerator método na coleção iniciará uma nova enumeração.

Aplica-se a

EnumerateFiles(String)

Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs

Devolve uma coleção enumerável de informação de ficheiro que corresponde a um padrão de pesquisa.

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)

Parâmetros

searchPattern
String

A cadeia de pesquisa para comparar com os nomes dos ficheiros. Este parâmetro pode conter uma combinação de caracteres válidos de path literais e wildcard (* e ?), mas não suporta expressões regulares.

Devoluções

Uma coleção enumerável de ficheiros que corresponde searchPatterna .

Exceções

searchPattern é null.

O caminho encapsulado no DirectoryInfo objeto é inválido (por exemplo, está num disco não mapeado).

O interlocutor não tem a permissão necessária.

Exemplos

O exemplo seguinte mostra como enumerar ficheiros num diretório usando diferentes opções de pesquisa. O exemplo assume um diretório que contém ficheiros nomeados log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, e um subdiretório que tem um ficheiro chamado 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 . . .

Observações

searchPattern pode ser uma combinação de caracteres literais e coringa, mas não suporta expressões regulares. Os seguintes indicadores de wildcard são permitidos em searchPattern.

Especificador de coringa Resultados correspondentes
* (asterisco) Zero ou mais personagens nessa posição.
? (ponto de interrogação) Zero ou um personagem nessa posição.

Personagens que não sejam o coringa são personagens literais. Por exemplo, a cadeia "*t" procura todos os nomes que terminam com a letra "t". ". A searchPattern cadeia "s*" procura todos os nomes começando path pela letra "s".

Os EnumerateFiles métodos e GetFiles diferem da seguinte forma:

  • Quando usas EnumerateFiles, podes começar a enumerar a coleção de FileInfo objetos antes de toda a coleção ser devolvida.

  • Quando usa GetFiles, tem de esperar que todo o array de FileInfo objetos seja devolvido antes de poder aceder ao array.

Por isso, quando trabalha com muitos ficheiros e diretórios, EnumerateFiles pode ser mais eficiente.

Este método preprepreenche os valores das seguintes FileInfo propriedades:

A coleção devolvida não é armazenada em cache; Cada chamada ao GetEnumerator método na coleção iniciará uma nova enumeração.

Aplica-se a

EnumerateFiles(String, EnumerationOptions)

Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs

Devolve uma coleção enumerável de informação de ficheiro que corresponde ao padrão de pesquisa especificado e às opções de enumeração.

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)

Parâmetros

searchPattern
String

A cadeia de pesquisa para comparar com os nomes dos ficheiros. Este parâmetro pode conter uma combinação de caracteres válidos de path literais e wildcard (* e ?), mas não suporta expressões regulares.

enumerationOptions
EnumerationOptions

Um objeto que descreve a configuração de pesquisa e enumeração a utilizar.

Devoluções

Uma coleção enumerável de ficheiros que corresponde searchPattern a e enumerationOptions.

Exceções

searchPattern é null.

O caminho encapsulado no DirectoryInfo objeto é inválido (por exemplo, está num disco não mapeado).

O interlocutor não tem a permissão necessária.

Observações

searchPattern pode ser uma combinação de caracteres literais e coringa, mas não suporta expressões regulares. Os seguintes indicadores de wildcard são permitidos em searchPattern.

Especificador de coringa Resultados correspondentes
* (asterisco) Zero ou mais personagens nessa posição.
? (ponto de interrogação) Zero ou um personagem nessa posição.

Personagens que não sejam o coringa são personagens literais. Por exemplo, a cadeia "*t" procura todos os nomes que terminam com a letra "t". ". A searchPattern cadeia "s*" procura todos os nomes começando path pela letra "s".

Os EnumerateFiles métodos e GetFiles diferem da seguinte forma:

  • Quando usas EnumerateFiles, podes começar a enumerar a coleção de FileInfo objetos antes de toda a coleção ser devolvida.

  • Quando usa GetFiles, tem de esperar que todo o array de FileInfo objetos seja devolvido antes de poder aceder ao array.

Por isso, quando trabalha com muitos ficheiros e diretórios, EnumerateFiles pode ser mais eficiente.

Este método preprepreenche os valores das seguintes FileInfo propriedades:

A coleção devolvida não é armazenada em cache; Cada chamada ao GetEnumerator método na coleção iniciará uma nova enumeração.

Aplica-se a

EnumerateFiles(String, SearchOption)

Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs
Origem:
DirectoryInfo.cs

Devolve uma coleção enumerável de informação de ficheiro que corresponde a um padrão de pesquisa especificado e a opção de subdiretório de pesquisa.

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)

Parâmetros

searchPattern
String

A cadeia de pesquisa para comparar com os nomes dos ficheiros. Este parâmetro pode conter uma combinação de caracteres válidos de path literais e wildcard (* e ?), mas não suporta expressões regulares.

searchOption
SearchOption

Um dos valores de enumeração especifica se a operação de pesquisa deve incluir apenas o diretório atual ou todos os subdiretórios. O valor predefinido é TopDirectoryOnly.

Devoluções

Uma coleção enumerável de ficheiros que corresponde searchPattern a e searchOption.

Exceções

searchPattern é null.

searchOption não é um valor válido SearchOption .

O caminho encapsulado no DirectoryInfo objeto é inválido (por exemplo, está num disco não mapeado).

O interlocutor não tem a permissão necessária.

Exemplos

O exemplo seguinte mostra como enumerar ficheiros num diretório usando diferentes opções de pesquisa. O exemplo assume um diretório que contém ficheiros nomeados log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, e um subdiretório que tem um ficheiro chamado 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 . . .

Observações

searchPattern pode ser uma combinação de caracteres literais e coringa, mas não suporta expressões regulares. Os seguintes indicadores de wildcard são permitidos em searchPattern.

Especificador de coringa Resultados correspondentes
* (asterisco) Zero ou mais personagens nessa posição.
? (ponto de interrogação) Zero ou um personagem nessa posição.

Personagens que não sejam o coringa são personagens literais. Por exemplo, a cadeia "*t" procura todos os nomes que terminam com a letra "t". ". A searchPattern cadeia "s*" procura todos os nomes começando path pela letra "s".

Os EnumerateFiles métodos e GetFiles diferem da seguinte forma:

  • Quando usas EnumerateFiles, podes começar a enumerar a coleção de FileInfo objetos antes de toda a coleção ser devolvida.

  • Quando usa GetFiles, tem de esperar que todo o array de FileInfo objetos seja devolvido antes de poder aceder ao array.

Por isso, quando trabalha com muitos ficheiros e diretórios, EnumerateFiles pode ser mais eficiente.

Este método preprepreenche os valores das seguintes FileInfo propriedades:

A coleção devolvida não é armazenada em cache; Cada chamada ao GetEnumerator método na coleção iniciará uma nova enumeração.

Aplica-se a