A szótár egy hasznos adatstruktúra, amely lehetővé teszi kulcs-érték párok tárolását. Hatékonyan hozzáférhet egy értékhez a szótárból a kulcsával.

A C# szótárai olyan műveleteket támogatnak, mint például egy érték eltávolítása vagy a teljes értékkészleten való iteráció.

Mi az a szótár a C#-ban?

A C# szótár az egyik a legfontosabb adatstruktúrákat megtudhatod. Kicsit olyan, mint a Java HashMap adatszerkezet. Kulcsainak egyedinek kell lenniük, de szinte bármilyen típusúak lehetnek. Egy egyszerű szótár skaláris értékeket használ.

Ennek az adatkészletnek például kulcsa egy kisállat azonosítója, értéke pedig a kisállat neve:

{1001, "Mia"},
{1002, "Oscar"},
{1003, "Birdie"},
{1004, "Bluey"},
{1005, "Leo"},
{1006, "Travis"}

Ez a struktúra lehetővé teszi az adatok elérését a rekordra hivatkozó kulccsal. Például lekérheti a rekordot az értékkel Kismadár a keresőkulccsal való hivatkozással 1003.

Hogyan készítsünk szótárt

Szótár létrehozásához meg kell adnia a kulcs és az érték objektumtípusát.

  1. Hozd létre a szótárt. Ebben a példában a kulcs egy egész szám, az egyes rekordok értéke pedig egy karakterlánc.
    instagram viewer
    Szótár<int, húr> háziállatok = új Szótár<int, húr>();
  2. Használnia kell a Rendszer. Gyűjtemények. Generikus névtér, amely tartalmazza a Dictionary osztályt. Ügyeljen arra, hogy ezt a fájl tetején tegye:
    segítségével Rendszer. Gyűjtemények. Generikus;

Elemek hozzáadása a szótárhoz

Hozzáadhat elemeket a szótárhoz annak inicializálása közben vagy után.

  1. A szótár inicializálása közben is hozzáadhat elemeket. Ehhez adjon hozzá néhány értéket zárójelben a kezdeti új szótár utasítás után.
    Szótár<int, húr> háziállatok = új Szótár<int, húr>()
    {
    {1001, "Mia"},
    {1002, "Oscar"},
    {1003, "Birdie"},
    {1004, "Bluey"},
    {1005, "Leo"},
    {1006, "Travis"}
    };
  2. Ha már elkészítette a szótárt, használhatja a szótár beépített Add() metódusát.
    háziállatok. Add(1007, "Havas");

Nem adhat hozzá értéket egy már létező kulcshoz. Ha megpróbálja ezt megtenni, érvkivételt kap.

Nem használhatja a nulla értéket, mint egy szótári bejegyzés kulcsát. A szótárban azonban tárolhat null értéket.

Hogyan adjunk objektumokat a szótárhoz

Ha o-t használobjektum-orientált programozás stílusban, valószínűleg van legalább egy osztálya, amellyel objektumokat hozhat létre. Tegyük fel, hogy volt egy osztálya, amely a háziállatokról adatokat tárolt:

Az ebből az osztályból létrehozott objektumokat hozzáadhatja a szótárhoz.

  1. Ügyeljen arra, hogy a szótárt az értékhez megadott Pet objektumtípussal hozza létre.
    Szótár<int, Pet> petObjects = új Szótár<int, Pet>();
  2. Hozd létre kedvenced tárgyát.
    Pet mia = új Házi kedvenc(1001, "Mia", új Dátum idő(2010, 6, 29), 9.0,
    új Dátum idő(2022, 05, 02));
  3. Adja hozzá az új kisállat objektumot a szótárhoz.
    petObjects. Add(1001, mia);

Hogyan lehet hozzáférni egy elemhez a szótárban

A Kulcs segítségével elérheti a szótár egy elemét.

  1. Használja a szótár változó nevét, majd írja be a kulcsot egy szögletes zárójelbe. Ezzel visszaadja a szótár adott részében tárolt objektumot.
    var kisállat = petObjects[1001];
    Konzol. WriteLine (pet.name);

Hogyan iteráljunk a szótárban

Használhatja a az egyes ciklus a szótárban való iterációhoz:

  1. Használjon foreach-et a szótárban található kulcsértékpárok ismétléséhez. Feltéve, hogy meghívta az iterátort belépéssegítségével érheti el a kulcsot és az értéket belépés. Kulcs és belépés. Érték.
    az egyes (KeyValuePair<int, Kisállat> bejegyzés ban ben kisállat tárgyak)
    {
    // kinyomtatja a kulcsot
    Konzol. WriteLine (bejegyzés. Kulcs);

    // kiírja az objektum nevét az adott rekordhoz
    Konzol. WriteLine (bejegyzés. Value.name);
    }

Hogyan frissíthetünk egy elemet a szótárban

Egy elemet úgy frissíthet, hogy felülírja az értékét a szótárban.

  1. Ha egyszerű objektumtípusai vannak a szótárban, akkor közvetlenül felülírhatja a rekord értékét.
    háziállatok[1001] = "Maya";
  2. Ha hozzáadott objektumokat a szótárhoz, felülírhat egy értéket egy teljesen új objektumra.
    Kisállat nyuszi = új Házi kedvenc(1001, "Nyuszi", új Dátum idő(2021, 8, 1), 3.0, új Dátum idő(2021, 8, 4));
    petObjects[1001] = nyuszi;
  3. Ha van egy objektum a szótárban, frissíthet egyetlen tulajdonságot is. Felülírhatja a tulajdonság értékét közvetlenül, vagy használhat settert.
    petObjects[1001].name = "Maya";
    // VAGY
    petObjects[1001].setName("Maya");

Hogyan lehet törölni egy elemet a szótárból

Választhat egy vagy az összes elem törlésére.

  1. Egyetlen elem törléséhez használja a szótár Beépített Remove() metódusát. Írja be a törölni kívánt rekord kulcsát argumentumként.
    petObjects. Eltávolítás(1002);
  2. A szótár összes elemének törléséhez használja a szótár Beépített Clear() metódusát
    petObjects. Egyértelmű();

Adatstruktúrák a C#-ban

Ez az oktatóanyag bemutatta, hogyan lehet szótárt létrehozni C# nyelven, és hogyan lehet elemeket hozzáadni a szótárhoz. Ezenkívül a szótár frissítésének, törlésének és iterálásának módját is ismertette.

Ha fejleszteni szeretné adatszerkezeti szókincsét, elkezdheti felfedezni a fejlettebb adatstruktúrákat. Néhány példa ezekre a Fibonacci Heap, az AVL Tree vagy a Red Black Tree.

3 fejlett adatstruktúra, amelyet minden programozónak tudnia kell

Olvassa el a következőt

Ossza megCsipogOssza megEmail

Kapcsolódó témák

  • Programozás
  • Szótár
  • Programozás

A szerzőről

Sharlene Von Drehnen (14 cikk megjelent)

Sharlene a MUO műszaki írója, és teljes munkaidőben szoftverfejlesztéssel foglalkozik. Bachelor of IT-vel rendelkezik, és korábbi tapasztalata van a minőségbiztosítás és az egyetemi oktatás területén. Sharlene szeret játszani és zongorázni.

Továbbiak Sharlene Von Drehnentől

Iratkozzon fel hírlevelünkre

Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!

Kattintson ide az előfizetéshez