logo

C# slovník s príkladmi

V C# je slovník generická kolekcia, ktorá sa vo všeobecnosti používa na ukladanie párov kľúč/hodnota. Fungovanie slovníka je dosť podobné negenerickému hashtable . Výhodou Slovníka je, že je generického typu. Slovník je definovaný v časti System.Collections.Generic namespace. Je dynamickej povahy, čo znamená, že veľkosť slovníka rastie podľa potreby. Dôležité body:

  • Trieda Dictionary implementuje
    • IDslovník Rozhranie
    • IReadOnlyCollection Rozhranie
    • IReadOnlyDictionary Rozhranie
    • IDslovník Rozhranie
  • V Slovníku kľúč nemôže byť null, ale hodnota môže byť.
  • V Slovníku musí byť kľúč jedinečný. Duplicitné kľúče nie sú povolené, ak sa pokúsite použiť duplicitný kľúč, potom kompilátor vyvolá výnimku.
  • V Slovníku môžete ukladať iba rovnaké typy prvkov.
  • Kapacita slovníka je počet prvkov, ktoré môže obsahovať slovník.

Ako vytvoriť slovník?

Trieda slovníka má 7 konštruktérov ktoré sa používajú na vytvorenie slovníka, tu používame iba konštruktor Dictionary() a ak sa chcete dozvedieť viac o konštruktoroch, pozrite si C# | Trieda slovníka . Slovník(): Tento konštruktor sa používa na vytvorenie inštancie triedy Dictionary, ktorá je prázdna, má predvolenú počiatočnú kapacitu a používa predvolený porovnávač rovnosti pre typ kľúča takto: Krok 1: IncludeSystem.Collections.Generic namespace vo svojom programe pomocou kľúčového slova. Syntax:



using System.Collections.Generic;>

Krok 2: Vytvorte slovník pomocou triedy Dictionary, ako je uvedené nižšie:

Dictionary dictionary_name = new Dictionary();>

Krok 3: Ak chcete pridať prvky do svojho slovníka, použite metódu Add() na pridanie párov kľúč/hodnota do vášho slovníka. A môžete tiež pridať pár kľúč/hodnota do slovníka bez použitia metódy Add. Ako je uvedené v príklade nižšie. Krok 4: K páru kľúč/hodnota slovníka sa pristupuje pomocou tri rôzne cesty:

    Slučka for: Slučku for môžete použiť na prístup k párom kľúč/hodnota v Slovníku. Príklad:

CSharp








for>(>int> x=0; x { Console.WriteLine('{0} and {1}', My_dict1.Keys.ElementAt(x), My_dict1[ My_dict1.Keys.ElementAt(x)]); }>

funkcia python chr
>

>

    Používanie indexu: K jednotlivým párom kľúč/hodnota v Slovníku môžete pristupovať pomocou jeho indexovej hodnoty. Tu stačí zadať kľúč v indexe, aby ste získali hodnotu z daného slovníka, nie je potrebné špecifikovať index. Indexer vždy berie kľúč ako parameter, ak daný kľúč nie je dostupný v slovníku, tak dáva KeyNotFoundException . Príklad:

CSharp




Console.WriteLine('Value>is>:{0}', My_dicti[1123]);> Console.WriteLine('Value>is>:{0}', My_dicti[1125]);>

>

>

    Slučka foreach: Slučku foreach môžete použiť na prístup k párom kľúč/hodnota slovníka. Ako je znázornené v nižšie uvedenom príklade, pristupujeme k slovníku pomocou slučky foreach.

Príklad:

CSharp


ubuntu ktorý príkaz



// 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>>My_dict1 => >new> 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>in> My_dict1)> >{> >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>>My_dict2 => >new> 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);> >}> >}> }>

>

>

Výkon:

1123 and Welcome 1124 and to 1125 and techcodeview.com a.1 and Dog a.2 and Cat a.3 and Pig>

Ako odstrániť prvky zo slovníka?

V Slovníku máte povolené odstraňovať prvky zo Slovníka. Trieda Dictionary poskytuje dve rôzne metódy na odstránenie prvkov a tieto metódy sú:

  • jasný : Táto metóda odstráni všetky kľúče a hodnoty zo slovníka.
  • Odstrániť : Táto metóda odstráni hodnotu so zadaným kľúčom zo slovníka.

Príklad:

CSharp


čo je v pythone



// 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>>My_dict => >new> 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>>on>in> My_dict)> >{> >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>>on>in> My_dict)> >{> >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);> > >}> }>

>

>

Výkon:

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>

Ako skontrolovať dostupnosť prvkov v Slovníku?

V Slovníku môžete skontrolovať, či sa daný kľúč alebo hodnota nachádza v zadanom slovníku alebo nie. Trieda Dictionary poskytuje dve rôzne metódy kontroly a tieto metódy sú:

  • Obsahuje kľúč : Táto metóda sa používa na kontrolu, či slovník obsahuje zadaný kľúč.
  • ObsahujeValue : Táto metóda sa používa na kontrolu, či slovník obsahuje konkrétnu hodnotu.

Príklad:

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>>My_dict => >new> 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...!!');> >}> >}> }>

>

>

Výkon:

Key is not found...!! Value is found...!!>