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.EnumerateDirectories ()

 

Data di pubblicazione: ottobre 2016

Restituisce una raccolta enumerabile di informazioni sulla directory nella directory corrente.

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

public IEnumerable<DirectoryInfo> EnumerateDirectories()

Valore restituito

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

Raccolta enumerabile di directory nella directory corrente.

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

The M:System.IO.DirectoryInfo.EnumerateDirectories and M:System.IO.DirectoryInfo.GetDirectories methods differ as follows:

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

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

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

This method pre-populates the values of the following T:System.IO.DirectoryInfo 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 enumerates the subdirectories under the C:\Program Files directory and uses a LINQ query to return the names of all directories that were created before 2009 by checking the value of the P:System.IO.FileSystemInfo.CreationTimeUtc property.

If you only need the names of the subdirectories, use the static T:System.IO.Directory class for better performance. For an example, see the M:System.IO.Directory.EnumerateDirectories(System.String) method.

DirectoryInfo dirPrograms = new DirectoryInfo(@"c:\program files");
DateTime StartOf2009 = new DateTime(2009, 01, 01);

var dirs = from dir in dirPrograms.EnumerateDirectories()
            where dir.CreationTimeUtc < StartOf2009
            select new
            {
                ProgDir = dir,
            };

foreach (var di in dirs)
{
    Console.WriteLine("{0}", di.ProgDir.Name);
}

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