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.
- 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.
Szótár<int, húr> háziállatok = új Szótár<int, húr>();
- 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.
- 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"}
}; - 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.
- Ü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>();
- 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)); - 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.
- 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:
- 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.
- 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";
- 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; - 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.
- 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);
- 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
Kapcsolódó témák
- Programozás
- Szótár
- Programozás
A szerzőről

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.
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