Utilizzare LINQ per ottenere una lista di file da una directory
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); }







