Requisiti: Leggi i blog tecnici di altre persone, scopri che alcune collezioni chiamano il metodo ToLookup, questo metodo non è stato ancora modificato, e poi consulta i materiali rilevanti per imparare l'uso di questo metodo di estensione. Il metodo ToLookup restituisce un valore di ToLookup<TSource, TKey> un dizionario uno-a-molti per mappare le chiavi a una raccolta di valori.
GroupBy vs. ToLookup
GroupBy e ToLookup sono entrambi metodi di estensione LINQ per raggruppare raccolte, e la principale differenza tra i due è il tipo di ritorno e l'utilizzo.
Il metodo GroupBy restituisce un oggetto IEnumerable<IGrouping<TKey, TElement>>, dove TKey è il tipo che rappresenta la chiave di raggruppamento e TElement è il tipo che rappresenta il tipo elemento. Questo metodo raggruppa la collezione secondo il selettore di chiave specificato e restituisce il risultato del raggruppamento come una sequenza di oggetti IGrouping<TKey, TElement>. Gli oggetti IGrouping<TKey, TElement> rappresentano una collezione di elementi con la stessa chiave. Puoi usare i cicli foreach o le query LINQ per iterare sui risultati raggruppati. Il metodo GroupBy è un'operazione di esecuzione ritardata che esegue l'operazione effettiva di raggruppamento solo quando inizi a iterare i suoi risultati.
Il metodo ToLookup restituisce un oggetto ILookup<TKey, TElement>, dove TKey è il tipo che rappresenta la chiave di raggruppamento e TElement è il tipo che rappresenta il tipo elemento. Il metodo raggruppa la collezione secondo il selettore di chiave specificato e restituisce il risultato del raggruppamento come oggetto ILookup<TKey, TElement>. Gli oggetti ILookup<TKey, TElement> rappresentano una raccolta di elementi con la stessa chiave. Puoi usare un indicizzatore o un ciclo foreach per accedere ai risultati raggruppati. A differenza di GroupBy, ToLookup è un'azione immediata che esegue immediatamente l'azione di raggruppamento e restituisce il risultato quando viene chiamata.
Esempio: Uno studente è in una classe, e una classe corrisponde a più studenti. La collezione degli studenti contiene informazioni sulle classi e gli studenti di ogni classe (o specificata) vengono prodotti in base ai gruppi di classe.
Il codice è il seguente:
Come mostrato di seguito:
Riferimento:Il login del link ipertestuale è visibile.
|