Utilizzare LINQ per ottenere una lista di file da una directory

Andrea Zani

di , in LINQ,

Grazie alla capacità di LINQ di eseguire query su oggetti, si possono effettuare operazioni su collection in modo molto più veloce e semplice che in passato.

Senza LINQ, per ottenere la lista dei file da una directory filtrata per particoli attributi del file (dimensione file o attributi particolari), siamo obbligati a richiedere la lista completa dei file quindi, da questa, crearne una nuova aggiungendo uno a uno i file che rispettano le nostre esigenze.

Con LINQ il nostro codice diventa molto più semplice ed intuibile come si può vedere da questo snippet:

// Richiesta dei file con dimensione maggiore di 1KB e non Hidden
var dir = new System.IO.DirectoryInfo("c:\");

var files = from f in dir.GetFiles()
    where f.Length > 1024 && f.Attributes != FileAttributes.Hidden
    select f;
    // Oppure nuovo oggetto con solo le informazioni desiderate
    // select new { f.DirectoryName, f.Name, f.Length };

// Visualizzazione
foreach (var file in files)
{
    Console.WriteLine("{0} - {1} ({2})",
         file.DirectoryName,
         file.Name,
         file.Length);
}

Commenti

Visualizza/aggiungi commenti

Utilizzare LINQ per ottenere una lista di file da una directory (#51) 1010 2
| Condividi su: Twitter, Facebook, LinkedIn, Google+

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi