Krav: Les andres tekniske blogger, finn at noen samlinger kaller ToLookup-metoden, denne metoden har ikke blitt rørt, og søk deretter i relevant materiale for å lære bruken av denne utvidelsesmetoden. ToLookup-metoden returnerer en verdi av ToLookup<TSource, TKey> en én-til-mange-ordbok for å kartlegge nøkler til en samling verdier.
GroupBy vs. ToLookup
GroupBy og ToLookup er begge LINQ-utvidelsesmetoder for gruppering av samlinger, og hovedforskjellen mellom de to er returtype og bruk.
GroupBy-metoden returnerer et IEnumerable<IGrouping<TKey, TElement>>-objekt, hvor TKey er typen som representerer grupperingsnøkkelen og TElement er typen som representerer elementtypen. Denne metoden grupperer samlingen i henhold til den angitte nøkkelvelgeren og returnerer grupperingsresultatet som en sekvens av IGrouping<TKey, TElement> objekter. IGrouping<TKey, TElement> objekter representerer en samling elementer med samme nøkkel. Du kan bruke foreach-løkker eller LINQ-spørringer for å iterere over grupperte resultater. GroupBy-metoden er en forsinket utførelsesoperasjon som kun utfører selve grupperingsoperasjonen når du begynner å iterere gjennom resultatene.
ToLookup-metoden returnerer et ILookup<TKey, TElement>-objekt, hvor TKey er typen som representerer grupperingsnøkkelen og TElement er typen som representerer elementtypen. Metoden grupperer samlingen i henhold til den angitte nøkkelvelgeren og returnerer grupperingsresultatet som et ILookup<TKey, TElement>objekt. ILookup<TKey, TElement> objekter representerer en samling elementer med samme nøkkel. Du kan bruke en indekser eller en foreach-løkke for å få tilgang til de grupperte resultatene. I motsetning til GroupBy, er ToLookup en umiddelbar handling som umiddelbart utfører grupperingshandlingen og returnerer resultatet når den kalles.
Eksempel: En elev er i en klasse, og en klasse tilsvarer flere elever. Studentsamlingen inneholder klasseinformasjon, og elevene i hver klasse (eller spesifisert klasse) blir skrevet ut i henhold til klassegrupper.
Koden er som følger:
Som vist nedenfor:
Referanse:Innloggingen med hyperkoblingen er synlig.
|