|
|
Publicerad på 2023-12-19 20:30:35
|
|
|
|

Krav: Läs andras tekniska bloggar, upptäck att vissa samlingar kallas ToLookup-metoden, denna metod har inte rörts, och sök sedan i relevant material för att lära dig användningen av denna utvidgningsmetod. ToLookup-metoden returnerar ett värde av ToLookup<TSource, TKey> en en-till-många-ordbok för att mappa nycklar till en samling värden.
GroupBy vs. ToLookup
GroupBy och ToLookup är båda LINQ-tilläggsmetoder för gruppering av samlingar, och den största skillnaden mellan de två är returtypen och användningen.
GroupBy-metoden returnerar ett IEnumerable<IGrouping<TKey, TElement>>objekt, där TKey är typen som representerar grupperingsnyckeln och TElement är typen som representerar elementtypen. Denna metod grupperar samlingen enligt den angivna nyckelväljaren och returnerar grupperingsresultatet som en sekvens av IGrouping<TKey, TElement> objekt. IGrouping<TKey, TElement> objekt representerar en samling element med samma nyckel. Du kan använda foreach-loopar eller LINQ-frågor för att iterera över grupperade resultat. GroupBy-metoden är en fördröjd exekveringsoperation som bara utför själva grupperingsoperationen när du börjar iterera igenom dess resultat.
ToLookup-metoden returnerar ett ILookup<TKey, TElement>objekt, där TKey är typen som representerar grupperingsnyckeln och TElement är typen som representerar elementtypen. Metoden grupperar samlingen enligt den angivna nyckelväljaren och returnerar gruppningsresultatet som ett ILookup<TKey, TElement>objekt. ILookup<TKey, TElement> objekt representerar en samling element med samma nyckel. Du kan använda en indexer eller en foreach-loop för att komma åt de grupperade resultaten. Till skillnad från GroupBy är ToLookup en omedelbar åtgärd som omedelbart utför grupperingsåtgärden och returnerar resultatet när den anropas.
Exempel: En elev är i en klass, och en klass motsvarar flera elever. Studentsamlingen innehåller klassinformation, och eleverna i varje klass (eller specificerad klass) produceras enligt klassgrupper.
Koden är följande:
Som visas nedan:
Hänvisning:Inloggningen med hyperlänken är synlig.
|
Föregående:.NET/C# Konsolkommandoradsverktyg (Parametrar, Alternativ)Nästa:Docker-basavbildningar för .NET 8
|