En ordbog er en nyttig datastruktur, der giver dig mulighed for at gemme nøgleværdi-par. Du kan effektivt få adgang til en værdi fra ordbogen ved at bruge dens nøgle.

Ordbøger i C# understøtter handlinger som fjernelse af en værdi eller iteration over hele værdisættet.

Hvad er en ordbog i C#?

En C#-ordbog er en af de vigtigste datastrukturer du kan lære om. Det er lidt ligesom Java HashMap-datastrukturen. Dens nøgler skal være unikke, men de kan være af næsten enhver type. En simpel ordbog bruger skalarværdier.

For eksempel har dette datasæt et ID for et kæledyr som nøgle og kæledyrets navn som værdien:

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

Denne struktur giver dig adgang til data ved hjælp af den særlige nøgle, der refererer til en post. For eksempel kan du hente posten med værdien Birdie ved at henvise til det med opslagsnøglen 1003.

Sådan opretter du en ordbog

For at oprette en ordbog skal du angive objekttypen for både nøglen og værdien.

instagram viewer
  1. Opret ordbogen. I dette eksempel er nøglen et heltal, og værdien for hver post er en streng.
    Ordbog<int, snor> kæledyr = ny Ordbog<int, snor>();
  2. Du skal bruge System. Samlinger. Generisk navneområde, som indeholder klassen Ordbog. Sørg for, at du gør det øverst i din fil:
    ved brug af System. Samlinger. Generisk;

Sådan tilføjer du elementer til ordbogen

Du kan tilføje elementer til ordbogen under eller efter dens initialisering.

  1. Du kan tilføje elementer, mens du initialiserer ordbogen. For at gøre det skal du tilføje nogle værdier i krøllede parenteser efter den første nye ordbogssætning.
    Ordbog<int, snor> kæledyr = ny Ordbog<int, snor>()
    {
    {1001, "Mia"},
    {1002, "Oscar"},
    {1003, "Birdie"},
    {1004, "Blå"},
    {1005, "Leo"},
    {1006, "Travis"}
    };
  2. Hvis du allerede har oprettet ordbogen, kan du bruge ordbogens indbyggede Add()-metode.
    kæledyr. Tilføje(1007, "Snefyldt");

Du kan ikke tilføje en værdi for en nøgle, der allerede eksisterer. Hvis du prøver at gøre det, får du en ArgumentException.

Du kan ikke bruge en nul værdi som nøglen til en post i en ordbog. Du kan dog gemme en nulværdi i en ordbog.

Sådan tilføjer du objekter til ordbogen

Hvis du bruger en objektorienteret programmering stil, har du sandsynligvis mindst én klasse, som du bruger til at oprette objekter med. Lad os sige, at du havde en klasse, der gemte detaljer om kæledyr:

Du kan tilføje objekter oprettet fra denne klasse til en ordbog.

  1. Sørg for at oprette ordbogen med den kæledyrsobjekttype, der er angivet for værdien.
    Ordbog<int, Pet> petObjects = ny Ordbog<int, Pet>();
  2. Opret dit kæledyrsobjekt.
    Pet mia = ny Kæledyr(1001, "Mia", ny Dato tid(2010, 6, 29), 9.0,
    ny Dato tid(2022, 05, 02));
  3. Tilføj det nye kæledyrsobjekt til ordbogen.
    petObjects. Tilføje(1001, mia);

Sådan får du adgang til et element i ordbogen

Du kan få adgang til et emne i ordbogen ved hjælp af tasten.

  1. Brug variabelnavnet til ordbogen efterfulgt af tasten omkring et par firkantede parenteser. Dette vil returnere det objekt, der er gemt i den pågældende del af ordbogen.
    var pet = petObjects[1001];
    Konsol. WriteLine (kæledyr.navn);

Sådan itererer du over ordbogen

Du kan bruge en for hver sløjfe for at iterere over en ordbog:

  1. Brug en foreach til at iterere over hvert KeyValuePair i ordbogen. Forudsat at du kaldte din iterator indgang, kan du få adgang til nøglen og værdien ved hjælp af indgang. Nøgle og indgang. Værdi.
    for hver (KeyValuePair<int, Pet> indgang i petObjects)
    {
    // udskriv nøglen
    Konsol. WriteLine (indgang. Nøgle);

    // udskriv navnet på objektet for den post
    Konsol. WriteLine (indgang. Værdi.navn);
    }

Sådan opdaterer du et element i en ordbog

Du kan opdatere et element ved at overskrive dets værdi i ordbogen.

  1. Hvis du har simple objekttyper i din ordbog, kan du overskrive en værdi af en post direkte.
    kæledyr[1001] = "Maya";
  2. Hvis du har tilføjet objekter til din ordbog, kan du overskrive en værdi til et helt nyt objekt.
    Kæledyrkanin = ny Kæledyr(1001, "kanin", ny Dato tid(2021, 8, 1), 3.0, ny Dato tid(2021, 8, 4));
    petObjects[1001] = kanin;
  3. Hvis du har et objekt i ordbogen, kan du også opdatere en enkelt egenskab. Du kan overskrive ejendommens værdi direkte eller bruge en sætter.
    petObjects[1001].name = "Maya";
    // ELLER
    petObjects[1001].setName("Maya");

Sådan sletter du et element i en ordbog

Du kan vælge at slette et enkelt element eller alle elementer.

  1. For at slette et enkelt element skal du bruge ordbogens Indbyggede Fjern()-metode. Indtast nøglen til den post, du vil slette som argument.
    petObjects. Fjerne(1002);
  2. For at slette alle elementer i ordbogen skal du bruge ordbogens Indbyggede Clear()-metode
    petObjects. Klar();

Datastrukturer i C#

Denne vejledning dækkede, hvordan man opretter en ordbog i C#, og hvordan man tilføjer elementer til ordbogen. Derudover har den også dækket, hvordan man opdaterer, sletter og itererer over ordbogen.

Hvis du ønsker at forbedre dit datastrukturordforråd, kan du begynde at udforske mere avancerede datastrukturer. Nogle eksempler på disse omfatter Fibonacci-bunken, AVL-træet eller rødt sort træ.

3 avancerede datastrukturer, som enhver programmør bør kende

Læs Næste

DelTweetDelE-mail

Relaterede emner

  • Programmering
  • Ordbog
  • Programmering

Om forfatteren

Sharlene Von Drehnen (14 artikler udgivet)

Sharlene er en Tech Writer hos MUO og arbejder også fuld tid med softwareudvikling. Hun har en bachelor i IT og har tidligere erfaring med kvalitetssikring og universitetsvejledning. Sharlene elsker at spille og spille klaver.

Mere fra Sharlene Von Drehnen

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere