C # kalboje žodynas yra bendras rinkinys, kuris paprastai naudojamas raktų / reikšmių poroms saugoti. Žodyno veikimas yra gana panašus į nebendrą maišos lentelę. Žodyno privalumas yra tai, kad jis yra bendrojo tipo. Žodynas yra apibrėžtas System.Collections.Generic vardų erdvėje. Jis yra dinamiškas, todėl žodyno dydis didėja pagal poreikį. Svarbūs punktai:
- Žodyno klasė įgyvendina
- Žodynas Sąsaja
- IReadOnlyCollection
Sąsaja - „IReadOnlyDictionary“. Sąsaja
- Žodynas Sąsaja
- Žodyne raktas negali būti nulis, bet reikšmė gali būti.
- Žodyne raktas turi būti unikalus. Dubliuoti raktai neleidžiami, jei bandysite naudoti pasikartojančius raktus, tada kompiliatorius padarys išimtį.
- Žodyne galite saugoti tik tų pačių tipų elementus.
- Žodyno talpa yra elementų, kuriuos gali turėti žodynas, skaičius.
Kaip sukurti žodyną?
Žodyno klasė turi 7 konstruktoriai kurie naudojami kuriant žodyną, čia mes naudojame tik Dictionary() konstruktorių ir jei norite sužinoti daugiau apie konstruktorius, žr. C# | Žodyno klasė . Žodynas(): Šis konstruktorius naudojamas sukurti žodyno klasės egzempliorių, kuris yra tuščias, turi numatytąją pradinę talpą ir naudoja numatytąjį lygybės lygintuvą rakto tipui, kaip nurodyta toliau: 1 žingsnis: ĮtraukiteSystem.Collections.Generic vardų erdvę į savo programą naudodami raktinį žodį. Sintaksė:
using System.Collections.Generic;>
2 žingsnis: Sukurkite žodyną naudodami žodyno klasę, kaip parodyta toliau:
Dictionary dictionary_name = new Dictionary();>
3 veiksmas: Jei norite pridėti elementų į savo žodyną, naudokite Add() metodą, kad įtrauktumėte raktų/reikšmių poras į savo žodyną. Be to, žodyne galite pridėti rakto / vertės porą nenaudodami metodo Pridėti. Kaip parodyta toliau pateiktame pavyzdyje. 4 veiksmas: Žodyno rakto/reikšmių pora pasiekiama naudojant trys Skirtingi keliai:
- for loop: galite naudoti for loop, kad pasiektumėte žodyno raktų/reikšmių poras. Pavyzdys:
CSharp
for>(>int> x=0; x { Console.WriteLine('{0} and {1}', My_dict1.Keys.ElementAt(x), My_dict1[ My_dict1.Keys.ElementAt(x)]); }> |
>
>
- Indekso naudojimas: galite pasiekti atskirą žodyno raktų / reikšmių porą naudodami jo indekso reikšmę. Čia jūs tiesiog nurodote raktą rodyklėje, kad gautumėte reikšmę iš nurodyto žodyno, nereikia nurodyti indekso. Indekseris visada paima raktą kaip parametrą, jei duotasis raktas nėra žodyne, tada jis suteikia KeyNotFoundException . Pavyzdys:
CSharp
Console.WriteLine('Value>is>:{0}', My_dicti[1123]);> Console.WriteLine('Value>is>:{0}', My_dicti[1125]);> |
>
>
- foreach ciklas: galite naudoti foreach kilpą, kad pasiektumėte žodyno rakto/reikšmių poras. Kaip parodyta toliau pateiktame pavyzdyje, žodyną pasiekiame naudodami foreach kilpą.
Pavyzdys:
adder full adder
CSharp
// C# program to illustrate how> // to create a dictionary> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main () {> > >// Creating a dictionary> >// using Dictionary class> >Dictionary<>int>,>string>>Mano_diktas1 =>> Dictionary<>int>,>string>>();>> // Adding key/value pairs> >// in the Dictionary> >// Using Add() method> >My_dict1.Add(1123, 'Welcome');> >My_dict1.Add(1124, 'to');> >My_dict1.Add(1125, 'techcodeview.com');> > >foreach>(KeyValuePair<>int>,>string>>ele1>> >{> >Console.WriteLine('{0} and {1}',> >ele1.Key, ele1.Value);> >}> >Console.WriteLine();> > >// Creating another dictionary> >// using Dictionary class> >// adding key/value pairs without> >// using Add method> >Dictionary<>string>,>string>>Mano_diktas2 =>> Dictionary<>string>,>string>>(){> >{'a.1', 'Dog'},> >{'a.2', 'Cat'},> >{'a.3', 'Pig'} };> > >foreach>(KeyValuePair<>string>,>string>>ele2>>in> My_dict2)> >{> >Console.WriteLine('{0} and {1}', ele2.Key, ele2.Value);> >}> >}> }> |
>
>
teiginių logikaIšvestis:
1123 and Welcome 1124 and to 1125 and techcodeview.com a.1 and Dog a.2 and Cat a.3 and Pig>
Kaip pašalinti elementus iš žodyno?
Žodyne galite pašalinti elementus iš žodyno. Žodyno klasėje pateikiami du skirtingi elementų pašalinimo būdai ir yra šie:
- Aišku : Šis metodas pašalina visus raktus ir reikšmes iš žodyno.
- Pašalinti : Šis metodas pašalina reikšmę su nurodytu raktu iš žodyno.
Pavyzdys:
CSharp
// C# program to illustrate how> // remove key/value pairs from> // the dictionary> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main() {> > >// Creating a dictionary> >// using Dictionary class> >Dictionary<>int>,>string>>Mano_diktas =>> Dictionary<>int>,>string>>();>> // Adding key/value pairs in the> >// Dictionary Using Add() method> >My_dict.Add(1123, 'Welcome');> >My_dict.Add(1124, 'to');> >My_dict.Add(1125, 'techcodeview.com');> > >// Before Remove() method> >foreach>(KeyValuePair<>int>,>string>>jis>>> >{> >Console.WriteLine('{0} and {1}',> >ele.Key, ele.Value);> >}> >Console.WriteLine();> > >// Using Remove() method> >My_dict.Remove(1123);> > >// After Remove() method> >foreach>(KeyValuePair<>int>,>string>>jis>>> >{> >Console.WriteLine('{0} and {1}',> >ele.Key, ele.Value);> >}> >Console.WriteLine();> > > >// Using Clear() method> >My_dict.Clear();> > >Console.WriteLine('Total number of key/value '+> >'pairs present>in> My_dict:{0}', My_dict.Count);> > >}> }> |
>
>Išvestis:
1123 and Welcome 1124 and to 1125 and techcodeview.com 1124 and to 1125 and techcodeview.com Total number of key/value pairs present in My_dict:0>
Kaip patikrinti elementų prieinamumą žodyne?
Žodyne galite patikrinti, ar nurodytas raktas arba reikšmė yra nurodytame žodyne, ar ne. Žodyno klasėje pateikiami du skirtingi tikrinimo metodai ir yra šie:
- ContainsKey : Šis metodas naudojamas patikrinti, ar žodyne yra nurodytas raktas.
- ContainsValue : Šis metodas naudojamas patikrinti, ar žodyne yra konkreti reikšmė.
Pavyzdys:
CSharp
// C# program to illustrate how> // to check the given key or> // value present in the dictionary> // or not> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main () {> > >// Creating a dictionary> >// using Dictionary class> >Dictionary<>int>,>string>>Mano_diktas =>> Dictionary<>int>,>string>>();>> // Adding key/value pairs in the> >// Dictionary Using Add() method> >My_dict.Add(1123, 'Welcome');> >My_dict.Add(1124, 'to');> >My_dict.Add(1125, 'techcodeview.com');> > >// Using ContainsKey() method to check> >// the specified key is present or not> >if> (My_dict.ContainsKey(1122)==>true>)> >{> >Console.WriteLine('Key>is> found...!!');> >}> >else> >{> >Console.WriteLine('Key>is> not found...!!');> >}> > >// Using ContainsValue() method to check> >// the specified value is present or not> >if> (My_dict.ContainsValue('techcodeview.com')==>true>)> >{> >Console.WriteLine('Value>is> found...!!');> >}> >else> >{> >Console.WriteLine('Value>is> not found...!!');> >}> >}> }> |
>
>Išvestis:
Key is not found...!! Value is found...!!>