Confronto: LINQ vs LAMBDA Espressione

Ho bisogno di una discussione riguardante le prestazioni di LINQ e Lambda Expression.

Qual è il migliore?

Immagino tu voglia dire query expression quando parli di LINQ qui.

Sono equivalenti. Il compilatore cambia l’ query expression della query expression Lambda equivalente prima di compilarlo, quindi l’IL generato è esattamente lo stesso.

Esempio

 var result = select s from intarray where s < 5 select s + 1; 

è esattamente lo stesso di

 var result = intarray.Where( s => s < 5).Select( s => s+1); 

Si noti che se si scrive l'espressione della query in questo modo:

 var result = select s from intarray where s < 5 select s; 

È convertito in:

 var result = intarray.Where( s => s < 5); 

L'ultima chiamata a Select viene omessa perché è ridondante.

un rapido confronto nel riflettore probabilmente farebbe il trucco. Tuttavia, da un punto di vista delle “preferenze”, trovo le istruzioni lambda più facili da seguire e scrivere e usarle su tutta la linea sia che si tratti di oggetti, xml o qualsiasi altra cosa.

Se le prestazioni sono trascurabili, sceglierei quella che funziona meglio per te.

In realtà ho iniziato un piccolo argomento guardando i metodi linq che potrebbero essere di interesse:

Qual è il tuo metodo linq preferito o ‘trucco’

Saluti..