Rječnik je korisna struktura podataka koja vam omogućuje pohranjivanje parova ključ-vrijednost. Možete učinkovito pristupiti vrijednosti iz rječnika koristeći njen ključ.

Rječnici u C# podržavaju radnje poput uklanjanja vrijednosti ili ponavljanja cijelog skupa vrijednosti.

Što je rječnik u C#?

C# rječnik je jedan od najvažnije strukture podataka možete naučiti o. To je pomalo poput strukture podataka Java HashMap. Njegovi ključevi moraju biti jedinstveni, ali mogu biti gotovo bilo koje vrste. Jednostavan rječnik koristi skalarne vrijednosti.

Na primjer, ovaj skup podataka ima ID ljubimca kao ključ i ime ljubimca kao vrijednost:

{1001, "Mia"},
{1002, "Oscar"},
{1003, "Ptičica"},
{1004, "plavo"},
{1005, "Leo"},
{1006, "Travis"}

Ova struktura vam omogućuje pristup podacima pomoću posebnog ključa koji upućuje na zapis. Na primjer, možete dohvatiti zapis s vrijednošću Ptičica upućivanjem na to pomoću ključa za traženje 1003.

Kako napraviti rječnik

Da biste stvorili rječnik, morate odrediti vrstu objekta i za ključ i za vrijednost.

instagram viewer
  1. Napravite rječnik. U ovom primjeru, ključ je cijeli broj, a vrijednost za svaki zapis je niz.
    Rječnik<int, niz> kućni ljubimci = novi Rječnik<int, niz>();
  2. Morat ćete koristiti Sustav. Zbirke. Generički imenski prostor koji sadrži klasu Rječnik. Provjerite jeste li to učinili na vrhu svoje datoteke:
    korištenjem Sustav. Zbirke. generički;

Kako dodati stavke u rječnik

Možete dodati stavke u rječnik tijekom ili nakon njegove inicijalizacije.

  1. Možete dodavati stavke tijekom inicijalizacije rječnika. Da biste to učinili, dodajte neke vrijednosti u vitičaste zagrade nakon početnog novog izraza Rječnik.
    Rječnik<int, niz> kućni ljubimci = novi Rječnik<int, niz>()
    {
    {1001, "Mia"},
    {1002, "Oscar"},
    {1003, "Ptičica"},
    {1004, "plavo"},
    {1005, "Leo"},
    {1006, "Travis"}
    };
  2. Ako ste već stvorili rječnik, možete koristiti ugrađenu metodu Add() u rječnik.
    kućni ljubimci. Dodati(1007, "Snježno");

Ne možete dodati vrijednost za ključ koji već postoji. Ako to pokušate učiniti, dobit ćete iznimku ArgumentException.

Ne možete koristiti a null vrijednost kao ključ za unos u rječniku. Međutim, nultu vrijednost možete pohraniti u rječnik.

Kako dodati objekte u rječnik

Ako koristite oobjektno orijentirano programiranje style, vjerojatno imate barem jednu klasu koju koristite za izradu objekata. Recimo da ste imali razred koji pohranjuje pojedinosti o kućnim ljubimcima:

Možete dodati objekte stvorene iz ove klase u rječnik.

  1. Provjerite jeste li izradili rječnik s vrstom objekta Pet specificiranom za vrijednost.
    Rječnik<int, Pet> PetObjekti = novi Rječnik<int, Kućni ljubimac>();
  2. Izradite svoj kućni ljubimac.
    Pet mia = novi Ljubimac(1001, "Mia", novi Datum vrijeme(2010, 6, 29), 9.0,
    novi Datum vrijeme(2022, 05, 02));
  3. Dodajte novi kućni ljubimac u rječnik.
    kućni ljubimci. Dodati(1001, mia);

Kako pristupiti stavku u rječniku

Stavku u rječniku možete pristupiti pomoću ključa.

  1. Upotrijebite naziv varijable za rječnik, nakon čega slijedi tipka oko para uglatih zagrada. Ovo će vratiti objekt pohranjen u tom određenom dijelu rječnika.
    var ljubimac = ljubimacObjekti[1001];
    Konzola. WriteLine (ime ljubimca);

Kako iterirati preko rječnika

Možete koristiti a za svakoga petlja za ponavljanje preko rječnika:

  1. Upotrijebite foreach za ponavljanje svakog para KeyValuePair u rječniku. Pod pretpostavkom da ste pozvali svog iteratora ulazak, možete pristupiti ključu i vrijednosti pomoću ulazak. Ključ i ulazak. Vrijednost.
    za svakoga (KeyValuePair<int, Pet> unos u kućni ljubimci)
    {
    // ispis ključa
    Konzola. WriteLine (unos. Ključ);

    // ispisati naziv objekta za taj zapis
    Konzola. WriteLine (unos. vrijednost.ime);
    }

Kako ažurirati stavku u rječniku

Možete ažurirati stavku tako da prepišete njezinu vrijednost u rječniku.

  1. Ako imate jednostavne tipove objekata u svom rječniku, možete izravno prepisati vrijednost zapisa.
    kućni ljubimci[1001] = "Maya";
  2. Ako ste dodali objekte u svoj rječnik, možete prepisati vrijednost u potpuno novi objekt.
    Kućni ljubimac = novi Ljubimac(1001, "zeko", novi Datum vrijeme(2021, 8, 1), 3.0, novi Datum vrijeme(2021, 8, 4));
    kućni ljubimci[1001] = zeko;
  3. Ako imate objekt u rječniku, možete ažurirati i jedno svojstvo. Možete izravno prebrisati vrijednost svojstva ili koristiti setter.
    kućni ljubimci[1001].name = "Maya";
    // ILI
    kućni ljubimci[1001].setName("Maya");

Kako izbrisati stavku u rječniku

Možete odabrati brisanje jedne stavke ili svih stavki.

  1. Da biste izbrisali jednu stavku, upotrijebite metodu Built-in Remove() rječnika. Unesite ključ zapisa koji želite izbrisati kao argument.
    kućni ljubimci. Ukloniti(1002);
  2. Da biste izbrisali sve stavke u rječniku, koristite metodu ugrađenog Clear() rječnika
    kućni ljubimci. Čisto();

Strukture podataka u C#

Ovaj vodič pokrivao je kako stvoriti rječnik u C# i kako dodati stavke u rječnik. Osim toga, također je pokrio kako ažurirati, izbrisati i ponavljati rječnik.

Ako želite poboljšati svoj vokabular strukture podataka, možete početi istraživati ​​naprednije strukture podataka. Neki od njih uključuju Fibonaccijevu hrpu, AVL stablo ili crveno crno stablo.

3 napredne strukture podataka koje bi svaki programer trebao znati

Pročitajte dalje

UdioCvrkutUdioE-mail

Povezane teme

  • Programiranje
  • Rječnik
  • Programiranje

O autoru

Sharlene Von Drehnen (Objavljeno 14 članaka)

Sharlene je tehnička spisateljica u MUO-u, a također radi puno radno vrijeme u razvoju softvera. Diplomirala je informatiku i ima prethodno iskustvo u osiguravanju kvalitete i sveučilišnom podučavanju. Sharlene voli igre i sviranje klavira.

Više od Sharlene Von Drehnen

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu