Krav: Læs andres tekniske blogs, find at nogle samlinger kalder ToLookup-metoden, denne metode er ikke blevet rørt, og søg derefter i relevante materialer for at lære brugen af denne udvidelsesmetode. ToLookup-metoden returnerer en værdi af ToLookup<TSource, TKey> en én-til-mange ordbog til at mappe nøgler til en samling af værdier.
GroupBy vs. ToLookup
GroupBy og ToLookup er begge LINQ-udvidelsesmetoder til gruppering af samlinger, og den væsentligste forskel mellem de to er returtypen og brugen.
GroupBy-metoden returnerer et IEnumerable<IGrouping<TKey, TElement>>-objekt, hvor TKey er typen, der repræsenterer grupperingsnøglen, og TElement er typen, der repræsenterer elementtypen. Denne metode grupperer samlingen i henhold til den angivne nøglevælger og returnerer grupperingsresultatet som en sekvens af IGrouping<TKey, TElement> objekter. IGrouping<TKey, TElement> objekter repræsenterer en samling elementer med samme nøgle. Du kan bruge foreach-løkker eller LINQ-forespørgsler til at iterere over grupperede resultater. GroupBy-metoden er en forsinket eksekveringsoperation, der kun udfører den faktiske grupperingsoperation, når du begynder at iterere dens resultater.
ToLookup-metoden returnerer et ILookup<TKey, TElement>-objekt, hvor TKey er typen, der repræsenterer grupperingsnøglen, og TElement er typen, der repræsenterer elementtypen. Metoden grupperer samlingen i henhold til den specificerede nøglevælger og returnerer grupperingsresultatet som et ILookup<TKey, TElement>objekt. ILookup<TKey, TElement> objekter repræsenterer en samling elementer med samme nøgle. Du kan bruge en indekser eller en foreach-løkke til at få adgang til de grupperede resultater. I modsætning til GroupBy er ToLookup en øjeblikkelig handling, der straks udfører grupperingshandlingen og returnerer resultatet, når den kaldes.
Eksempel: En elev er i en klasse, og en klasse svarer til flere elever. Studentersamlingen indeholder klasseinformation, og eleverne i hver klasse (eller specificeret klasse) udgives i henhold til klassegrupper.
Koden er som følger:
Som vist nedenfor:
Henvisning:Hyperlink-login er synlig.
|