Slovník je užitečná datová struktura, která umožňuje ukládat páry klíč–hodnota. K hodnotě ze slovníku můžete efektivně přistupovat pomocí jeho klíče.

Slovníky v C# podporují akce, jako je odstranění hodnoty nebo opakování celé sady hodnot.

Co je to slovník v C#?

Slovník C# je jedním z nejdůležitější datové struktury se můžete dozvědět o. Je to trochu jako datová struktura Java HashMap. Jeho klíče musí být jedinečné, ale mohou být téměř jakéhokoli typu. Jednoduchý slovník používá skalární hodnoty.

Tato datová sada má například jako klíč ID domácího mazlíčka a jako hodnotu jméno zvířete:

{1001, "Mia"},
{1002, "Oscar"},
{1003, "Ptáček"},
{1004, "Modrá"},
{1005, "Leo"},
{1006, "Travis"}

Tato struktura vám umožňuje přistupovat k datům pomocí konkrétního klíče, který odkazuje na záznam. Můžete například načíst záznam s hodnotou Ptáček odkazováním pomocí vyhledávacího klíče 1003.

Jak vytvořit slovník

Chcete-li vytvořit slovník, musíte zadat typ objektu pro klíč i hodnotu.

  1. Vytvořte slovník. V tomto příkladu je klíčem celé číslo a hodnotou každého záznamu je řetězec.
    Slovník<int, tětiva> mazlíčci = Nový Slovník<int, tětiva>();
  2. Budete muset použít Systém. Sbírky. Obecný jmenný prostor, který obsahuje třídu Dictionary. Ujistěte se, že tak učiníte v horní části souboru:
    použitím Systém. Sbírky. Obecný;

Jak přidat položky do slovníku

Položky můžete do slovníku přidávat během nebo po jeho inicializaci.

  1. Při inicializaci slovníku můžete přidávat položky. Chcete-li tak učinit, přidejte některé hodnoty ve složených závorkách za počáteční nový příkaz Dictionary.
    Slovník<int, tětiva> mazlíčci = Nový Slovník<int, tětiva>()
    {
    {1001, "Mia"},
    {1002, "Oscar"},
    {1003, "Ptáček"},
    {1004, "Modrá"},
    {1005, "Leo"},
    {1006, "Travis"}
    };
  2. Pokud jste již slovník vytvořili, můžete použít ve slovníku vestavěnou metodu Add().
    domácí mazlíčci. Přidat(1007, "Zasněžený");

Nemůžete přidat hodnotu pro klíč, který již existuje. Pokud se o to pokusíte, dostanete ArgumentException.

Nemůžete použít a nula hodnotu jako klíč pro záznam ve slovníku. Můžete však uložit hodnotu null do slovníku.

Jak přidat objekty do slovníku

Pokud používáte oobjektově orientované programování style, pravděpodobně máte alespoň jednu třídu, kterou používáte k vytváření objektů. Řekněme, že jste měli třídu, která ukládala podrobnosti o domácích mazlíčcích:

Objekty vytvořené z této třídy můžete přidat do slovníku.

  1. Ujistěte se, že jste vytvořili slovník s typem objektu Pet určeným pro hodnotu.
    Slovník<int, Pet> petObjects = Nový Slovník<int, Domácí mazlíček>();
  2. Vytvořte si předmět svého mazlíčka.
    Pet mia = Nový Domácí mazlíček(1001, "Mia", Nový Čas schůzky(2010, 6, 29), 9.0,
    Nový Čas schůzky(2022, 05, 02));
  3. Přidejte nový objekt domácího mazlíčka do slovníku.
    petObjects. Přidat(1001, mia);

Jak získat přístup k položce ve slovníku

K položce ve slovníku můžete přistupovat pomocí klávesy Key.

  1. Použijte název proměnné pro slovník a za ním klíč kolem dvojice hranatých závorek. Tím se vrátí objekt uložený v této konkrétní části slovníku.
    var mazlíček = petObjects[1001];
    Řídicí panel. WriteLine (pet.name);

Jak iterovat přes slovník

Můžete použít a pro každého smyčka pro iteraci přes slovník:

  1. Použijte foreach k iteraci přes každý KeyValuePair ve slovníku. Za předpokladu, že jste zavolali iterátor vstup, můžete přistupovat ke klíči a hodnotě pomocí vstup. Klíč a vstup. Hodnota.
    pro každého (KeyValuePair<int, Domácí mazlíček> záznam v petObjects)
    {
    // vytiskni klíč
    Řídicí panel. WriteLine (záznam. Klíč);

    // vytiskne název objektu pro daný záznam
    Řídicí panel. WriteLine (záznam. Value.name);
    }

Jak aktualizovat položku ve slovníku

Položku můžete aktualizovat přepsáním její hodnoty ve slovníku.

  1. Pokud máte ve svém slovníku jednoduché typy objektů, můžete hodnotu záznamu přepsat přímo.
    domácí mazlíčci[1001] = "Maya";
  2. Pokud jste do svého slovníku přidali objekty, můžete přepsat hodnotu na zcela nový objekt.
    Domácí zajíček = Nový Domácí mazlíček(1001, "Králíček", Nový Čas schůzky(2021, 8, 1), 3.0, Nový Čas schůzky(2021, 8, 4));
    petObjects[1001] = zajíček;
  3. Pokud máte objekt ve slovníku, můžete také aktualizovat jednu vlastnost. Hodnotu vlastnosti můžete přepsat přímo nebo použít setter.
    petObjects[1001].name = "Maya";
    // NEBO
    petObjects[1001].setName("Maya");

Jak odstranit položku ve slovníku

Můžete si vybrat, zda chcete odstranit jednu položku nebo všechny položky.

  1. Chcete-li odstranit jednu položku, použijte vestavěnou metodu Remove() ve slovníku. Jako argument zadejte klíč záznamu, který chcete smazat.
    petObjects. Odstranit(1002);
  2. Chcete-li odstranit všechny položky ve slovníku, použijte metodu Built-in Clear() ve slovníku
    petObjects. Průhledná();

Datové struktury v C#

Tento tutoriál se zabýval tím, jak vytvořit slovník v C# a jak do slovníku přidávat položky. Kromě toho se také zabývá tím, jak aktualizovat, mazat a iterovat slovník.

Pokud chcete zlepšit svou slovní zásobu datových struktur, můžete začít zkoumat pokročilejší datové struktury. Některé příklady zahrnují Fibonacciho haldu, AVL Tree nebo Red Black Tree.

3 pokročilé datové struktury, které by měl znát každý programátor

Přečtěte si další

PodíltweetPodílE-mailem

Související témata

  • Programování
  • Slovník
  • Programování

O autorovi

Sharlene von Drehnen (14 zveřejněných článků)

Sharlene je Tech Writer na MUO a také pracuje na plný úvazek ve vývoji softwaru. Má bakalářský titul v oboru IT a má předchozí zkušenosti se zajišťováním kvality a univerzitním doučováním. Sharlene miluje hry a hru na klavír.

Více od Sharlene Von Drehnen

Přihlaste se k odběru našeho newsletteru

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!

Chcete-li se přihlásit k odběru, klikněte sem