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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.


