Követelmények: Olvasd el mások műszaki blogjait, fedezd fel, hogy egyes gyűjtemények hívják a ToLookup módszert, ezt a módszert nem érintették, majd kérdezd le a releváns anyagokat, hogy megtanuld a kiterjesztési módszer használatát. A ToLookup módszer a ToLookup<TSource, TKey> egy egy-többhez szótár a kulcsok egy értékgyűjteményhez való leképezésére.
GroupBy vs. ToLookup
A GroupBy és a ToLookup egyaránt LINQ kiterjesztési módszerek a gyűjtemények csoportosítására, és a fő különbség a visszaküldés típusában és a használatban.
A GroupBy metódus IEnumerable<IGrouping<TKey, TElement>> objektumot ad vissza, ahol TKey az a típus, amely a csoportosító kulcsot képviseli, a TElement pedig az elemtípust. Ez a módszer a meghatározott kulcsválasztó alapján csoportosítja a gyűjteményt, és a csoportosítási eredményt IGrouping<TKey, TElement> objektumok sorozata formájában adja vissza. IGrouping<TKey, Telement> objektumok egy olyan elemekből álló gyűjteményt képviselnek, amelyek ugyanazzal a kulcsmal rendelkeznek. Használhatsz foreach hurkokat vagy LINQ lekérdezéseket a csoportos eredmények iterálására. A GroupBy módszer egy késleltetett végrehajtási művelet, amely csak akkor hajtja végre a tényleges csoportosítási műveletet, amikor elkezded átnézni az eredményeit.
A ToLookup módszer egy ILookup<TKey, TElement> objektumot ad vissza, ahol a TKey az a típus, amely a csoportosító kulcsot képviseli, míg a TElement az elemtípust. A metódus a megadott kulcsválasztó szerint csoportosítja a gyűjteményt, és a csoportosítási eredményt ILookup<TKey, TElement> objektumként adja vissza. ILookup<TKey, TElement> objektumok egy olyan elemgyűjteményt képviselnek, amelyek ugyanazzal a kulcsmal rendelkeznek. Használhatsz indexelőt vagy foreach ciklust a csoportosított eredményekhez. A GroupBy-vel ellentétben a ToLookup azonnali művelet, amely azonnal végrehajtja a csoportosítási műveletet, és visszaadja az eredményt, amikor hívják.
Példa: Egy diák egy osztályban van, és egy osztály több diáknak felel meg. A diákgyűjtemény osztályinformációkat tartalmaz, és az egyes osztályok (vagy meghatározott osztályok) diákjai osztálycsoportok szerint jelennek meg.
A kódex a következő:
Ahogy az alábbiakban látható:
Utalás:A hiperlink bejelentkezés látható.
|