logo

C# slovník s příklady

V C# je Dictionary generická kolekce, která se obecně používá k ukládání párů klíč/hodnota. Fungování slovníku je velmi podobné negenerickému hashtable . Výhodou Slovníku je, že je generického typu. Slovník je definován pod jmenným prostorem System.Collections.Generic. Má dynamický charakter, což znamená, že velikost slovníku roste podle potřeby. Důležité body:

  • Třída Dictionary implementuje
    • IDslovník Rozhraní
    • IReadOnlyCollection Rozhraní
    • IReadOnlyDictionary Rozhraní
    • IDslovník Rozhraní
  • Ve Slovníku klíč nemůže být null, ale hodnota může být.
  • Ve Slovníku musí být klíč jedinečný. Duplicitní klíče nejsou povoleny, pokud se pokusíte použít duplicitní klíč, pak kompilátor vyvolá výjimku.
  • Ve Slovníku můžete ukládat pouze stejné typy prvků.
  • Kapacita slovníku je počet prvků, které může slovník pojmout.

Jak vytvořit slovník?

Třída slovníku má 7 konstruktérů které se používají k vytvoření slovníku, zde používáme pouze konstruktor Dictionary() a pokud se chcete dozvědět více o konstruktorech, podívejte se C# | Třída slovníku . Slovník(): Tento konstruktor se používá k vytvoření instance třídy Dictionary, která je prázdná, má výchozí počáteční kapacitu a používá výchozí porovnávač rovnosti pro typ klíče následovně: Krok 1: IncludeSystem.Collections.Generic jmenný prostor ve vašem programu pomocí klíčového slova. Syntax:



using System.Collections.Generic;>

Krok 2: Vytvořte slovník pomocí třídy Dictionary, jak je znázorněno níže:

Dictionary dictionary_name = new Dictionary();>

Krok 3: Pokud chcete přidat prvky do svého slovníku, použijte metodu Add() k přidání párů klíč/hodnota do vašeho slovníku. A můžete také přidat pár klíč/hodnota do slovníku bez použití metody Add. Jak je ukázáno v níže uvedeném příkladu. Krok 4: K páru klíč/hodnota slovníku se přistupuje pomocí tři různé způsoby:

    smyčka for: Smyčku for můžete použít pro přístup k párům klíč/hodnota ve Slovníku. Příklad:

CSharp








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

>

>

    Použití indexu: K jednotlivým párům klíč/hodnota slovníku můžete přistupovat pomocí jeho indexové hodnoty. Zde stačí zadat klíč v indexu, abyste získali hodnotu z daného slovníku, není třeba uvádět index. Indexer vždy bere klíč jako parametr, pokud daný klíč není ve slovníku dostupný, tak dá KeyNotFoundException . Příklad:

CSharp




fonty pro gimp

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

>

>

    Smyčka foreach: Smyčku foreach můžete použít pro přístup k párům klíč/hodnota ve slovníku. Jak je ukázáno v níže uvedeném příkladu, přistupujeme ke slovníku pomocí smyčky foreach.

Příklad:

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>>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ýstup:

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

Jak odstranit prvky ze slovníku?

Ve Slovníku máte povoleno odstraňovat prvky ze Slovníku. Třída Dictionary poskytuje dvě různé metody pro odstranění prvků a tyto metody jsou:

  • Průhledná : Tato metoda odstraní všechny klíče a hodnoty ze slovníku.
  • Odstranit : Tato metoda odebere hodnotu se zadaným klíčem ze slovníku.

Příklad:

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>>Můj_dikt => >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ýstup:

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>

Jak zkontrolovat dostupnost prvků ve Slovníku?

Ve Slovníku můžete zkontrolovat, zda se daný klíč nebo hodnota nachází v zadaném slovníku či nikoli. Třída Dictionary poskytuje dvě různé metody kontroly a tyto metody jsou:

  • ContainsKey : Tato metoda se používá ke kontrole, zda slovník obsahuje zadaný klíč.
  • ObsahujeValue : Tato metoda se používá ke kontrole, zda Slovník obsahuje konkrétní hodnotu.

Pří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>>Můj_dikt => >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...!!');> >}> >}> }>

>

liška nebo vlk
>

Výstup:

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