Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo DirectoryInfo.EnumerateFiles (String)

 

Data di pubblicazione: ottobre 2016

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

Spazio dei nomi:   System.IO
Assembly:  mscorlib (in mscorlib.dll)

public IEnumerable<FileInfo> EnumerateFiles(
	string searchPattern
)

Parametri

searchPattern
Type: System.String

Stringa di ricerca in base alla quale confrontare i nomi dei file. Questo parametro può contenere una combinazione di caratteri letterali e caratteri jolly (* e ?) validi per un percorso (vedere la sezione Note), ma non le supporta espressioni regolari. Il criterio predefinito è "*" che restituisce tutti i file.

Valore restituito

Type: System.Collections.Generic.IEnumerable<FileInfo>

Raccolta enumerabile di file che corrisponde a searchPattern.

Exception Condition
ArgumentNullException

searchPattern è null.

DirectoryNotFoundException

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

SecurityException

Il chiamante non dispone dell'autorizzazione richiesta.

searchPattern can be a combination of literal and wildcard characters, but doesn't support regular expressions. The following wildcard specifiers are permitted in searchPattern.

Wildcard specifier

Matches

* (asterisk)

Zero or more characters in that position.

? (question mark)

Zero or one character in that position.

Characters other than the wildcard are literal characters. For example, the string "*t" searches for all names in ending with the letter "t". ". The searchPattern string "s*" searches for all names in path beginning with the letter "s".

The M:System.IO.DirectoryInfo.EnumerateFiles and M:System.IO.DirectoryInfo.GetFiles methods differ as follows:

  • When you use M:System.IO.DirectoryInfo.EnumerateFiles, you can start enumerating the collection of T:System.IO.FileInfo objects before the whole collection is returned.

  • When you use M:System.IO.DirectoryInfo.GetFiles, you must wait for the whole array of T:System.IO.FileInfo objects to be returned before you can access the array.

Therefore, when you are working with many files and directories, M:System.IO.DirectoryInfo.EnumerateFiles can be more efficient.

This method pre-populates the values of the following T:System.IO.FileInfo properties:

The returned collection is not cached; each call to the M:System.Collections.Generic.IEnumerable`1.GetEnumerator method on the collection will start a new enumeration.

The following example shows how to enumerate files in a directory by using different search options. The example assumes a directory that has files named log1.txt, log2.txt, test1.txt, test2.txt, test3.txt, and a subdirectory that has a file named 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 . . .

*/

Universal Windows Platform
Disponibile da 10
.NET Framework
Disponibile da 4.0
Silverlight
Disponibile da 4.0
Torna all'inizio
Mostra: