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.
Approfondimenti
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Mischiare codice server side e client side in una query LINQ con Entity Framework
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
I più letti di oggi
- .NET Campus - Roma
- .NET Conference Italia 2022 - Track in presenza - Milano
- Release Candidate 1 di Internet Explorer 8
- Windows Azure in versione 1.0: annunciata la piattaforma Microsoft per il cloud computing
- Disponibile la June 2011 CTP di Entity Framework
- Microsoft Security Bulletin MS02-043
- .NET vs J2EE? Secondo Microsoft non ci sono paragoni


