Ho utilizzato LINQ e Lambda Expressions per un po ', ma non mi sento ancora completamente a mio agio con ogni aspetto della funzione.Puoi spiegare questa funzione di raggruppamento lambda?
Quindi, mentre stavo lavorando a un progetto di recente, avevo bisogno di ottenere un elenco distinto di oggetti basati su alcune proprietà e ho trovato questo codice. Funziona, e ci sto bene, ma mi piacerebbe capire il meccanismo di raggruppamento. Non mi piace semplicemente collegare il codice e scappare dal problema se posso aiutarlo.
In ogni modo il codice è:
var listDistinct
=list.GroupBy(
i => i.value1,
(key, group) => group.First()
).ToList();
Nel codice di esempio di cui sopra, si sta chiamando prima GroupBy
e passandolo un'espressione lambda dicendogli di gruppo dalla struttura value1
. La seconda sezione del codice sta causando la confusione.
Capisco che key
fa riferimento a value1
nella dichiarazione (key, group)
, ma non mi sto ancora muovendo per la testa tutto ciò che sta avvenendo.
Grazie, Eric. La documentazione è abbastanza chiara. Capisco quindi che il "gruppo" usato nello scenario sopra non è una parola riservata e posso passare in un nome più descrittivo per quel lambda? Questo aiuta un bel po '- stavo inciampando pensando che quel gruppo fosse una parola riservata per questa operazione, ma sapere altrimenti lo rende un po' più ovvio per quanto sta accadendo. – elucid8
Inoltre, sei un capo, signore. – elucid8
@ elucid8: aggiornerò la mia risposta per rispondere alla tua seconda domanda. –