Nõuded: Loe teiste inimeste tehnilisi blogisid, leia, et mõned kogud kasutavad ToLookup meetodit, seda meetodit pole puututud, ja seejärel küsi vastavatest materjalidest, et õppida selle laiendusmeetodi kasutamist. ToLookup meetod tagastab väärtuseks ToLookup<TSource, TKey> üks-mitmele sõnastik võtmete kaardistamiseks väärtuste kogumiks.
GroupBy vs. ToLookup
GroupBy ja ToLookup on mõlemad LINQ laiendusmeetodid kogude grupeerimiseks ning peamine erinevus nende vahel on tagastuse tüüp ja kasutus.
GroupBy meetod tagastab IEnumerable<IGrouping<TKey, TElement>> objekti, kus TKey on tüüp, mis esindab grupeerimisvõtit, ja TElement on tüüp, mis esindab elementitüüpi. See meetod grupeerib kogu vastavalt määratud võtmevalijale ja tagastab grupeerimistulemuse IGrouping<TKey, TElement> objektide järjestusena. IGrouping<TKey, Telement> objektid esindavad sama võtmega elementide kogumit. Saad kasutada foreach tsükliid või LINQ päringuid, et iteratsioone grupeeritud tulemuste üle. GroupBy meetod on viivitusega täitmise operatsioon, mis täidab tegeliku grupeerimisoperatsiooni alles siis, kui hakkad selle tulemusi läbi vaatama.
ToLookup meetod tagastab ILookup<TKey, TElement> objekti, kus TKey on tüüp, mis esindab grupeerimisvõtit, ja TElement on tüüp, mis esindab elementitüüpi. Meetod grupeerib kogu vastavalt määratud võtmevalijale ja tagastab grupeerimistulemuse ILookup<TKey, TElement> objektina. ILookup<TKey, TElement> objektid esindavad sama võtmega elementide kogumit. Saad kasutada indekseerijat või foreach tsüklit, et pääseda ligi grupeeritud tulemustele. Erinevalt GroupByst on ToLookup kohene tegevus, mis käivitab grupeerimistoimingu kohe ja tagastab tulemuse, kui see kutsutakse.
Näide: Õpilane on klassis ja klass vastab mitmele õpilasele. Õpilaste kogu sisaldab klassiinfot ning iga klassi (või määratud klassi) õpilased väljastatakse vastavalt klassigruppidele.
Kood on järgmine:
Nagu allpool näidatud:
Viide:Hüperlingi sisselogimine on nähtav.
|