En ordbok är en användbar datastruktur som låter dig lagra nyckel-värdepar. Du kan effektivt komma åt ett värde från ordboken med hjälp av dess nyckel.

Ordböcker i C# stöder åtgärder som att ta bort ett värde eller iterera över hela uppsättningen värden.

Vad är en ordbok i C#?

En C#-ordbok är en av de viktigaste datastrukturerna du kan lära dig om. Det är lite som Java HashMap-datastrukturen. Dess nycklar måste vara unika, men de kan vara av nästan vilken typ som helst. En enkel ordbok använder skalära värden.

Till exempel har denna datauppsättning ett ID för ett husdjur som nyckel och husdjurets namn som värdet:

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

Denna struktur låter dig komma åt data med den speciella nyckeln som refererar till en post. Du kan till exempel hämta posten med värdet Birdie genom att referera till det med söknyckeln 1003.

Hur man skapar en ordbok

För att skapa en ordbok måste du ange objekttypen för både nyckeln och värdet.

instagram viewer
  1. Skapa ordboken. I det här exemplet är nyckeln ett heltal och värdet för varje post är en sträng.
    Ordbok<int, sträng> husdjur = ny Ordbok<int, sträng>();
  2. Du måste använda Systemet. Samlingar. Generisk namnutrymme som innehåller klassen Dictionary. Se till att du gör det överst i filen:
    använder sig av Systemet. Samlingar. Generisk;

Hur man lägger till objekt i ordboken

Du kan lägga till objekt i ordboken under eller efter dess initialisering.

  1. Du kan lägga till objekt medan du initierar ordboken. För att göra det, lägg till några värden inom hakparenteser efter den första nya ordboksatsen.
    Ordbok<int, sträng> husdjur = ny Ordbok<int, sträng>()
    {
    {1001, "Mia"},
    {1002, "Oscar"},
    {1003, "Birdie"},
    {1004, "Blå"},
    {1005, "Leo"},
    {1006, "Travis"}
    };
  2. Om du redan har skapat ordboken kan du använda ordbokens inbyggda Add()-metod.
    sällskapsdjur. Lägg till(1007, "Snöigt");

Du kan inte lägga till ett värde för en nyckel som redan finns. Om du försöker göra det får du ett ArgumentException.

Du kan inte använda en null värde som nyckel för en post i en ordbok. Du kan dock lagra ett nollvärde i en ordbok.

Hur man lägger till objekt i ordboken

Om du använder en oobjektorienterad programmering stil, har du förmodligen minst en klass som du använder för att skapa objekt med. Säg att du hade en klass som lagrade information om husdjur:

Du kan lägga till objekt skapade från den här klassen till en ordbok.

  1. Se till att du skapar ordboken med objekttypen Pet som anges för värdet.
    Ordbok<int, Pet> petObjects = ny Ordbok<int, Pet>();
  2. Skapa ditt husdjursobjekt.
    Pet mia = ny Sällskapsdjur(1001, "Mia", ny Datum Tid(2010, 6, 29), 9.0,
    ny Datum Tid(2022, 05, 02));
  3. Lägg till det nya husdjursobjektet i ordboken.
    petObjects. Lägg till(1001, mia);

Hur man kommer åt ett objekt i ordboken

Du kan komma åt ett objekt i ordboken med knappen.

  1. Använd variabelnamnet för ordboken, följt av tangenten runt ett par hakparenteser. Detta kommer att returnera objektet som är lagrat i den specifika delen av ordboken.
    var pet = petObjects[1001];
    Trösta. WriteLine (pet.name);

Hur man itererar över ordboken

Du kan använda en för varje loop för att iterera över en ordbok:

  1. Använd en foreach för att iterera över varje KeyValuePair i ordboken. Förutsatt att du anropade din iterator inträde, kan du komma åt nyckeln och värdet med hjälp av inträde. Nyckel och inträde. Värde.
    för varje (KeyValuePair<int, Pet> inträde i petObjects)
    {
    // skriv ut nyckeln
    Trösta. WriteLine (entry. Nyckel);

    // skriv ut namnet på objektet för den posten
    Trösta. WriteLine (entry. Value.name);
    }

Hur man uppdaterar ett objekt i en ordbok

Du kan uppdatera ett objekt genom att skriva över dess värde i ordboken.

  1. Om du har enkla objekttyper i din ordbok kan du skriva över ett värde för en post direkt.
    sällskapsdjur[1001] = "Maya";
  2. Om du har lagt till objekt i din ordbok kan du skriva över ett värde till ett helt nytt objekt.
    Husdjurskanin = ny Sällskapsdjur(1001, "kanin", ny Datum Tid(2021, 8, 1), 3.0, ny Datum Tid(2021, 8, 4));
    petObjects[1001] = kanin;
  3. Om du har ett objekt i ordboken kan du också uppdatera en enskild egenskap. Du kan skriva över fastighetens värde direkt eller använda en sättare.
    petObjects[1001].name = "Maya";
    // ELLER
    petObjects[1001].setName("Maya");

Hur man tar bort ett objekt i en ordbok

Du kan välja att ta bort ett enstaka objekt eller alla objekt.

  1. För att ta bort ett enstaka objekt, använd ordbokens inbyggda Remove()-metod. Ange nyckeln till posten du vill ta bort som argument.
    petObjects. Ta bort(1002);
  2. För att radera alla objekt i ordboken, använd ordbokens inbyggda Clear()-metod
    petObjects. Klar();

Datastrukturer i C#

Denna handledning behandlade hur man skapar en ordbok i C# och hur man lägger till objekt i ordboken. Dessutom har den också täckt hur man uppdaterar, tar bort och itererar över ordboken.

Om du vill förbättra ditt datastrukturordförråd kan du börja utforska mer avancerade datastrukturer. Några exempel på dessa inkluderar Fibonacci Heap, AVL Tree eller Red Black Tree.

3 avancerade datastrukturer som alla programmerare bör känna till

Läs Nästa

Dela med sigTweetDela med sigE-post

Relaterade ämnen

  • Programmering
  • Lexikon
  • Programmering

Om författaren

Sharlene Von Drehnen (14 artiklar publicerade)

Sharlene är en Tech Writer på MUO och arbetar även heltid med mjukvaruutveckling. Hon har en kandidatexamen i IT och har tidigare erfarenhet av kvalitetssäkring och universitetshandledning. Sharlene älskar att spela och spela piano.

Mer från Sharlene Von Drehnen

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera