DirectoryInfo.EnumerateFiles Metodo

Definizione

Restituisce un insieme enumerabile di informazioni sui file nella directory corrente.

Overload

EnumerateFiles()

Restituisce un insieme enumerabile di informazioni sui file nella directory corrente.

EnumerateFiles(String)

Restituisce una raccolta enumerabile di informazioni sui file che corrispondono a un criterio di ricerca.

EnumerateFiles(String, EnumerationOptions)

Restituisce una raccolta enumerabile di informazioni sui file che corrisponde al criterio di ricerca e alle opzioni di enumerazione specificati.

EnumerateFiles(String, SearchOption)

Restituisce una raccolta enumerabile di informazioni sui file che corrispondono a un criterio di ricerca e all'opzione di ricerca subdirectory specificati.

EnumerateFiles()

Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs

Restituisce un insieme enumerabile di informazioni sui file nella directory corrente.

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)

Restituisce

Raccolta enumerabile dei file nella directory corrente.

Eccezioni

Il percorso incapsulato nell'oggetto DirectoryInfo non è valido, ad esempio si trova in un'unità non mappata.

Il chiamante non dispone dell'autorizzazione richiesta.

Esempio

L'esempio seguente enumera i file in una directory specificata e usa una query LINQ per restituire i nomi di tutti i file creati prima del 2009 controllando il valore della CreationTimeUtc proprietà.

Se sono necessari solo i nomi dei file, usare la classe statica Directory per migliorare le prestazioni. Per un esempio, vedere il Directory.EnumerateFiles(String) metodo .

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

Nell'esempio seguente viene illustrato come enumerare i file in una directory usando diverse opzioni di ricerca. Nell'esempio si presuppone che una directory con file denominati log1.txt, log2.txt, test1.txt, test2.txt, test3.txt e una sottodirectory con un file denominato 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 . . .

Commenti

I EnumerateFiles metodi e GetFiles differiscono come segue:

  • Quando si usa EnumerateFiles, è possibile iniziare a enumerare la raccolta di FileInfo oggetti prima che venga restituita l'intera raccolta.

  • Quando si usa GetFiles, è necessario attendere che venga restituita l'intera matrice di oggetti prima di FileInfo poter accedere alla matrice.

Pertanto, quando si utilizzano molti file e directory, EnumerateFiles può essere più efficiente.

Questo metodo pre-popola i valori delle proprietà seguenti FileInfo :

La raccolta restituita non viene memorizzata nella cache; ogni chiamata al GetEnumerator metodo nella raccolta inizierà una nuova enumerazione.

Si applica a

EnumerateFiles(String)

Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs

Restituisce una raccolta enumerabile di informazioni sui file che corrispondono a un criterio di ricerca.

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)

Parametri

searchPattern
String

Stringa di ricerca in base alla quale confrontare i nomi dei file. Questo parametro può contenere una combinazione di caratteri del percorso letterale e caratteri jolly (* e ?) validi, ma non supporta le espressioni regolari.

Restituisce

Raccolta enumerabile di file che corrisponde a searchPattern.

Eccezioni

searchPattern è null.

Il percorso incapsulato nell’oggetto DirectoryInfo non è valido (ad esempio, si trova in un'unità non mappata).

Il chiamante non dispone dell'autorizzazione richiesta.

Esempio

Nell'esempio seguente viene illustrato come enumerare i file in una directory usando diverse opzioni di ricerca. Nell'esempio si presuppone che una directory con file denominati log1.txt, log2.txt, test1.txt, test2.txt, test3.txt e una sottodirectory con un file denominato 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 . . .

Commenti

searchPattern può essere una combinazione di caratteri letterali e jolly, ma non supporta espressioni regolari. Gli identificatori jolly seguenti sono consentiti in searchPattern.

Identificatore jolly Corrispondenze
* (asterisco) Zero o più caratteri in tale posizione.
? (punto interrogativo) Zero o un carattere in tale posizione.

I caratteri diversi dal carattere jolly sono caratteri letterali. Ad esempio, la stringa "*t" cerca tutti i nomi che terminano con la lettera "t". ". La searchPattern stringa "s*" cerca tutti i nomi in path inizio con la lettera "s".

I EnumerateFiles metodi e GetFiles differiscono come segue:

  • Quando si usa EnumerateFiles, è possibile iniziare a enumerare la raccolta di FileInfo oggetti prima che venga restituita l'intera raccolta.

  • Quando si usa GetFiles, è necessario attendere che venga restituita l'intera matrice di oggetti prima di FileInfo poter accedere alla matrice.

Pertanto, quando si utilizzano molti file e directory, EnumerateFiles può essere più efficiente.

Questo metodo pre-popola i valori delle proprietà seguenti FileInfo :

La raccolta restituita non viene memorizzata nella cache; ogni chiamata al GetEnumerator metodo nella raccolta inizierà una nuova enumerazione.

Si applica a

EnumerateFiles(String, EnumerationOptions)

Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs

Restituisce una raccolta enumerabile di informazioni sui file che corrisponde al criterio di ricerca e alle opzioni di enumerazione specificati.

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)

Parametri

searchPattern
String

Stringa di ricerca in base alla quale confrontare i nomi dei file. Questo parametro può contenere una combinazione di caratteri del percorso letterale e caratteri jolly (* e ?) validi, ma non supporta le espressioni regolari.

enumerationOptions
EnumerationOptions

Oggetto che descrive la configurazione di ricerca ed enumerazione da usare.

Restituisce

Raccolta enumerabile di file che corrisponde a searchPattern e enumerationOptions.

Eccezioni

searchPattern è null.

Il percorso incapsulato nell’oggetto DirectoryInfo non è valido (ad esempio, si trova in un'unità non mappata).

Il chiamante non dispone dell'autorizzazione richiesta.

Commenti

searchPattern può essere una combinazione di caratteri letterali e jolly, ma non supporta espressioni regolari. Gli identificatori jolly seguenti sono consentiti in searchPattern.

Identificatore jolly Corrispondenze
* (asterisco) Zero o più caratteri in tale posizione.
? (punto interrogativo) Zero o un carattere in tale posizione.

I caratteri diversi dal carattere jolly sono caratteri letterali. Ad esempio, la stringa "*t" cerca tutti i nomi che terminano con la lettera "t". ". La searchPattern stringa "s*" cerca tutti i nomi in path inizio con la lettera "s".

I EnumerateFiles metodi e GetFiles differiscono come segue:

  • Quando si usa EnumerateFiles, è possibile iniziare a enumerare la raccolta di FileInfo oggetti prima che venga restituita l'intera raccolta.

  • Quando si usa GetFiles, è necessario attendere che venga restituita l'intera matrice di oggetti prima di FileInfo poter accedere alla matrice.

Pertanto, quando si utilizzano molti file e directory, EnumerateFiles può essere più efficiente.

Questo metodo pre-popola i valori delle proprietà seguenti FileInfo :

La raccolta restituita non viene memorizzata nella cache; ogni chiamata al GetEnumerator metodo nella raccolta inizierà una nuova enumerazione.

Si applica a

EnumerateFiles(String, SearchOption)

Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs
Origine:
DirectoryInfo.cs

Restituisce una raccolta enumerabile di informazioni sui file che corrispondono a un criterio di ricerca e all'opzione di ricerca subdirectory specificati.

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)

Parametri

searchPattern
String

Stringa di ricerca in base alla quale confrontare i nomi dei file. Questo parametro può contenere una combinazione di caratteri del percorso letterale e caratteri jolly (* e ?) validi, ma non supporta le espressioni regolari.

searchOption
SearchOption

Uno dei valori di enumerazione che specifica se l'operazione di ricerca deve includere solo la directory corrente o anche tutte le sottodirectory. Il valore predefinito è TopDirectoryOnly.

Restituisce

Raccolta enumerabile di file che corrisponde a searchPattern e searchOption.

Eccezioni

searchPattern è null.

searchOption non è un valore valido di SearchOption.

Il percorso incapsulato nell'oggetto DirectoryInfo non è valido, ad esempio si trova in un'unità non mappata.

Il chiamante non dispone dell'autorizzazione richiesta.

Esempio

Nell'esempio seguente viene illustrato come enumerare i file in una directory usando diverse opzioni di ricerca. Nell'esempio si presuppone che una directory con file denominati log1.txt, log2.txt, test1.txt, test2.txt, test3.txt e una sottodirectory con un file denominato 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 . . .

Commenti

searchPattern può essere una combinazione di caratteri letterali e jolly, ma non supporta espressioni regolari. Gli identificatori jolly seguenti sono consentiti in searchPattern.

Identificatore jolly Corrispondenze
* (asterisco) Zero o più caratteri in tale posizione.
? (punto interrogativo) Zero o un carattere in tale posizione.

I caratteri diversi dal carattere jolly sono caratteri letterali. Ad esempio, la stringa "*t" cerca tutti i nomi che terminano con la lettera "t". ". La searchPattern stringa "s*" cerca tutti i nomi in path inizio con la lettera "s".

I EnumerateFiles metodi e GetFiles differiscono come segue:

  • Quando si usa EnumerateFiles, è possibile iniziare a enumerare la raccolta di FileInfo oggetti prima che venga restituita l'intera raccolta.

  • Quando si usa GetFiles, è necessario attendere che venga restituita l'intera matrice di FileInfo oggetti prima di poter accedere alla matrice.

Pertanto, quando si lavora con molti file e directory, EnumerateFiles può essere più efficiente.

Questo metodo precompila i valori delle proprietà seguenti FileInfo :

La raccolta restituita non viene memorizzata nella cache; ogni chiamata al GetEnumerator metodo nella raccolta avvierà una nuova enumerazione.

Si applica a