C# ToDictionary metode

C Todictionary Metode



ToDictionary funkcija C# ir LINQ paplašinājuma funkcija, kas ļauj pārveidot datu kolekciju vārdnīcā, kas piedāvā skaidru un praktisku veidu, kā kartēt entītijas ar atšķirīgām atslēgām un saistītām vērtībām. Tam nepieciešami divi argumenti, divi delegāti vai lambda izteiksmes, viens atslēgas izvēlei un vēl viens, lai izvēlētos vērtību katram kolekcijas objektam. Šajā rakstā mēs izmantosim dažus C# koda piemērus, lai parādītu funkcijas ToDictionary lietojumus.

Sintakse:

Sadalīsim un sapratīsim katru komponentu, kas tiek nodrošināts šādā funkcijas C# ToDictionary sintaksē pa vienam:



bija dikti = kolekcija. ToDictionary ( taustiņu atlasītājs , elementu selektors ) ;
  • Atslēgvārds “var” šeit tiek atmests, lai definētu iegūtās “dict” vārdnīcas tipa kategoriju. Vairumā gadījumu tā ir vārdnīca, kur K ir atslēgas veids un V ir vārdnīcas vērtības tipa kategorija.
  • Elements “kolekcija” apzīmē avota kolekciju, kuru vēlaties pārvērst par “diktu” vārdnīcu. Tā var būt jebkura klase, kas ievieš IEnumerable saskarni, piemēram, saraksts, masīvs vai vaicājuma rezultāts.
  • Atslēgvārds “keySelector” ir deleģētā vai lambda izteiksme, kas norāda, kā iegūt atslēgu no katra kolekcijas vienuma. Tas iegūst elementu no kolekcijas kā argumentu un atdod šī vienuma galveno vērtību. Atslēgai ir jābūt unikālai katram kolekcijas vienumam, jo ​​vārdnīcās nevar būt dublētās atslēgas.
  • Atslēgvārds “elementSelector” attiecas uz deleģēto vai lambda izteiksmi, kas norāda, kā iegūt vērtību no katra kolekcijas vienuma. Tas arī iegūst kolekcijas elementu kā argumentu un iegūst šī vienuma vērtību.

Pēc funkcijas ToDictionary izpildes jums būs jauns vārdnīcas objekts, kurā katrs kolekcijas vienums ir attēlots kā atslēgu un vērtību pāris.







1. piemērs:

Sāksim šo rokasgrāmatu no jauna, parādot funkcijas ToDictionary izmantošanu C#, izmantojot koda piemēru. Iziesim tam cauri soli pa solim.



Kods sākas ar nepieciešamo nosaukumvietu importēšanu: System, System.Collections.Generic un System.Linq. Šīs nosaukumvietas nodrošina nepieciešamās klases un paplašinājumu metodes darbam ar kolekcijām un LINQ. Ir definēta klase “Dummy”, kas satur šīs C# programmas “Galveno” metodi.



Metodē “Galvenā” tiek izveidots saraksts ar nosaukumu “L”. Šajā sarakstā ir trīs virknes elementi, kas apzīmē dažādu smaržu nosaukumus pēc lietotāja izvēles. ToDictionary metode tiek izsaukta “L” sarakstā. Tas pārvērš sarakstu vārdnīcā. Katrs virknes elements sarakstā kalpo gan kā atslēga, gan kā vērtība iegūtajā vārdnīcā.





Vārdnīca tiek izveidota ar reģistrjutīgu atslēgu salīdzinājumu, izmantojot parametru StringComparer.OrdinalIgnoreCase, ko galvenokārt izmanto, lai norādītu reģistrjutīgu salīdzinājumu, pārbaudot atslēgu esamību. Paziņojums “if” pārbauda, ​​vai vārdnīcā ir atslēga “bombshell”, ignorējot tās reģistru. Ja atslēga tiek atrasta, tiks apstrādāts koda fragments sadaļā “ja”. Blokā “if” tiek izpildīts paziņojums Console.WriteLine (“Bombshell pastāv”), kas konsolei drukā ziņojumu “Bombshell pastāv”.

izmantojot sistēmu ;

izmantojot sistēmu. Kolekcijas . Vispārējs ;

izmantojot sistēmu. Linq ;

klases manekens

{

statisks nederīgs Galvenā ( )

{

Saraksts < virkne > L = jauns saraksts < virkne > ( ) { 'BlackOpium' , 'Bumbas čaula' , 'GucciFlora' } ;

bija Smaržas = L. ToDictionary ( x => x , x => taisnība , StringComparer. OrdinalIgnoreCase ) ;

ja ( Smaržas. Satur atslēgu ( 'bumba' ) )

{

Konsole. WriteLine ( 'Bumba eksistē' ) ;

}

}

}

Tā kā vārdnīca ir izveidota, salīdzinot ar reģistriem nejutīgu, taustiņš “bombshell” atbilst vārdnīcas faktiskajam taustiņam “Bombshell”. Rezultātā konsolē tiek izdrukāts ziņojums “Bombshell pastāv”, kā parādīts pievienotajā izvades attēlā:



2. piemērs:

Iepriekšējā koda piemērā mēs parādījām, kā vienkāršu kolekciju var pārvērst vārdnīcā, izmantojot funkciju ToDictionary. Tagad mēs pāriesim uz nedaudz uzlabota C# koda piemēru, lai demonstrētu funkcijas C# ToDictionary lietojumus. Sadalīsim kodu pēc rindiņas.

Šis ilustrācijas koda fragments sākas, ievadot tās pašas obligātās nosaukumvietas: System, System.Collections.Generic un System.Linq. Šīs nosaukumvietas nodrošina vajadzīgās klases un paplašinājuma metodes darbam ar kolekcijām un LINQ šim koda piemēram. Ir definēta “Manekena” klase, kas ir ieejas punkts.

C# valodas “Galvenās” metodes ietvaros tiek izveidots saraksts ar nosaukumu “L”. Šajā sarakstā ir trīs “Datu” klases objekti, kas atspoguļo dažādus kosmētikas produktus ar to cenām un zīmoliem. Katrs datu objekts tiek inicializēts, izmantojot objekta inicializatora sintaksi. Katra objekta rekvizīti “Cena” un “Zīmols” ir iestatīti ar noteiktām vērtībām.

Šeit nāk ToDictionary metode. Šeit to sauc 'L' sarakstā. Tas pārvērš sarakstu vārdnīcā, kurā kā atslēga tiek izmantots rekvizīts “Price” un kā vērtība tiek izmantots rekvizīts “Zīmols”. Rezultātā iegūtā vārdnīca tiek piešķirta mainīgajam “Dic”, kā minēts tālāk sniegtajā koda fragmentā. “Foreach” cilpa tiek pārtraukta, lai izsauktu atslēgu un vērtību pārus vārdnīcā “Dic”.

Cilpas ietvaros katra pāra atslēgai un vērtībai var piekļūt, izmantojot KeyValuePair struktūras rekvizītus “Key” un “Value”. Funkcijas Console.WriteLine priekšraksts konsolē drukā katru atslēgas vērtību pāri. Izvade tiek formatēta, izmantojot virknes interpolāciju, lai atsevišķi parādītu cenu un zīmola informāciju.

Šeit “Datu” klase ir definēta ar divām īpašībām: “Price” (vesels skaitlis, kas apzīmē kosmētikas līdzekļa cenu) un “Brand” (virkne, kas apzīmē produkta zīmola nosaukumu).

izmantojot sistēmu ;

izmantojot sistēmu. Kolekcijas . Vispārējs ;

izmantojot sistēmu. Linq ;

klases manekens

{

statisks nederīgs Galvenā ( )

{

Saraksts < Dati > L = jauns saraksts < Dati > ( )

{

jauni dati { Cena = 13 000 , Zīmols = 'Huda skaistums' } ,

jauni dati { Cena = 15 000 , Zīmols = 'Šarlote Telberija' } ,

jauni dati { Cena = 11 000 , Zīmols = 'Nārs' }

} ;

Vārdnīca < starpt , virkne > decembris = L. ToDictionary ( lpp => lpp. Cena , lpp => lpp. Zīmols ) ;

katram ( var v in Dic )

{

Konsole. WriteLine ( $ 'Cena: {v.Key}, Zīmols: {v.Value}' ) ;

}

}

}

klase Dati

{

publiski starpt Cena { gūt ; komplekts ; }

publiska stīga Zīmols { gūt ; komplekts ; }

}

Kad kods tiek izpildīts, tas izveido datu objektu sarakstu, pārvērš sarakstu vārdnīcā, izmantojot metodi ToDictionary, un pēc tam parāda vārdnīcas atslēgu un vērtību pārus, izmantojot cilpu “foreach”.

Šī koda piemēra izvade ir sniegta tālāk. Tas parāda kosmētikas līdzekļu cenas un zīmolus, kas tiek glabāti vārdnīcā, pamatojoties uz konkrētām īpašībām, nodrošinot ērtu veidu, kā sakārtot un piekļūt datiem atslēgu-vērtību pāros. Iepriekšējā koda izvade parāda trīs vārdnīcas ierakstus:

Secinājums

Šī C# rokasgrāmata demonstrēja C# ToDictionary metodes izmantošanu, izmantojot dažas pamata un precīzas koda ilustrācijas. Piedāvājot skaidru un izteiksmīgu mehānismu atslēgu un vērtību pāru aprakstīšanai, metode ToDictionary atvieglo krājuma pārvēršanu vārdnīcā. Tā ir spēcīga C# utilīta, lai manipulētu un pārveidotu datus.