Quando si esegue una query con LINQ, il risultato viene messo in una lista di oggetti (a meno che non si tratti di query con Max, Count, ecc. ecc.). Molto spesso, però, si ha l'esigenza di recuperare un solo oggetto e quindi torna utile avere a disposizione un meccanismo che permetta di avere direttamente l'oggetto e non una lista con un solo elemento.
In situazioni del genere, si può usare il metodo Single che copre esattamente questa esigenza.
List<string> letters = new List<string> { "a", "b", "c", "d", "e", "f", "g", "h", "i" };
var q = (from letter in letters
where letter == "b"
select letter).Single();E' molto importante sottolineare il fatto che nel caso la query non restituisse nessun oggetto o ne restituisse più di uno, la chiamata al metodo Single causerebbe una InvalidOperationException.
Per approfondimenti si veda:
#34 - Verificare che tutti gli oggetti in una lista soddisfino una condizione con la clausola All di LINQ
http://www.winfxitalia.com/script/34/Verificare-Oggetti-Lista-Soddisfino-Condizione-Clausola-All-LINQ.aspx
#32 - Paginare i risultati di una query LINQ con Skip e Take
http://www.winfxitalia.com/script/32/Paginare-Risultati-Query-LINQ-Skip-Take.aspx
- #34 - Verificare che tutti gli oggetti in una lista soddisfino una condizione con la clausola All di LINQ
- LINQItalia.com e SilverlightItalia.com sono online
- I tanti modi di scrivere con Linq
- #54 - Utilizzare il Lazy Load per caricare una proprietà semplice con LinqToSql
- Visual Studio 2008 e .NET Framework 3.5 in versione definitiva entro fine novembre
- Uno sguardo a LINQ to SQL
- #58 - Ottimizzare le performance del Lazy Loading con LINQ To SQL tramite il metodo AssociateWith
- Ordinamenti ed aggregazioni con LINQ to Objects
- #43 - Valutare condizioni in un activity personalizzata di WF
- #32 - Paginare i risultati di una query LINQ con Skip e Take
- #16 - Anonymous Type con Linq
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.





Stampa
Download 


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!