Hva er ordbøker?
I arrayer får vi tilgang til data gjennom indeksering (arrayName[index]
). I en array har hver verdi (element) en unik indeks, som brukes for å få tilgang til den verdien, derfor kan vi si at en array har en indeks-verdi-struktur.
Det finnes en lignende struktur kalt et Dictionary, hvor vi i stedet har nøkkel-verdi-par. Mens en indeks alltid er et heltall, kan en nøkkel være av hvilken som helst grunnleggende datatyp, men det er vanligvis en string
.
Følgende illustrasjon viser et eksempel på et dictionary som lagrer antall ulike frukter:

Opprette et Dictionary
Vi kan erklære et dictionary med følgende syntaks:
IDictionary<keyDataType, valueDataType> dictionaryName = new Dictionary<keyDataType, valueDataType>();
Her representerer keyDataType
datatypen til nøkkelen, mens valueDataType
representerer datatypen til verdiene. dictionaryName
er navnet på ordboken.
En implisitt deklarasjon er også gyldig:
var dictionaryName = new Dictionary<keyDataType, valueDataType>();
Legge til data
Vi kan bruke Add
-metoden for å legge til elementer i ordboken:
dictionaryName.Add(keyName, value);
Tilgang til data
Vi kan få tilgang til data i ordbøker ved å bruke nøklene:
dictionaryName[keyName]
Følgende er et eksempel som demonstrerer alle tre:
index.cs
12345678910111213141516171819202122using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { var student = new Dictionary<string, string>(); student.Add("name", "Noah"); student.Add("country", "Netherlands"); student.Add("subject", "Computer Science"); Console.WriteLine(student["name"]); Console.WriteLine(student["country"]); Console.WriteLine(student["subject"]); } } }
Hver nøkkel i et dictionary må være unik. Hvis man prøver å legge til en nøkkel som allerede finnes, vil kompilatoren vise en feil.
I ordbøker viser attributtet Count
antall nøkkel-verdi-par som er lagret i den. Metoden Remove
tar inn en nøkkel og fjerner det tilhørende nøkkel-verdi-paret fra ordboken. Metoden Clear
fjerner ganske enkelt alle nøkkel-verdi-par fra en ordbok. Det vil være en god kodeforståelsesøvelse å lese og forstå bruken av Count
, Remove
og Clear
i følgende kode:
index.cs
1234567891011121314151617181920212223242526using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { var numbers = new Dictionary<int, string>(); numbers.Add(0, "Zero"); numbers.Add(1, "One"); numbers.Add(2, "Two"); numbers.Add(3, "Three"); numbers.Add(4, "Four"); numbers.Add(5, "Five"); Console.WriteLine(numbers.Count); // Output: 6 numbers.Remove(3); Console.WriteLine(numbers.Count); // Output: 5 numbers.Clear(); Console.WriteLine(numbers.Count); // Output: 0 } } }
1. Hvilket modul må importeres for å bruke ordbøker?
2. Hva er riktig syntaks for å opprette et dictionary?
3. Hva vil være utdata for følgende kode?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain the difference between arrays and dictionaries in more detail?
Can you show an example of creating and using a dictionary?
What are some common use cases for dictionaries?
Awesome!
Completion rate improved to 2.04
Hva er ordbøker?
Sveip for å vise menyen
I arrayer får vi tilgang til data gjennom indeksering (arrayName[index]
). I en array har hver verdi (element) en unik indeks, som brukes for å få tilgang til den verdien, derfor kan vi si at en array har en indeks-verdi-struktur.
Det finnes en lignende struktur kalt et Dictionary, hvor vi i stedet har nøkkel-verdi-par. Mens en indeks alltid er et heltall, kan en nøkkel være av hvilken som helst grunnleggende datatyp, men det er vanligvis en string
.
Følgende illustrasjon viser et eksempel på et dictionary som lagrer antall ulike frukter:

Opprette et Dictionary
Vi kan erklære et dictionary med følgende syntaks:
IDictionary<keyDataType, valueDataType> dictionaryName = new Dictionary<keyDataType, valueDataType>();
Her representerer keyDataType
datatypen til nøkkelen, mens valueDataType
representerer datatypen til verdiene. dictionaryName
er navnet på ordboken.
En implisitt deklarasjon er også gyldig:
var dictionaryName = new Dictionary<keyDataType, valueDataType>();
Legge til data
Vi kan bruke Add
-metoden for å legge til elementer i ordboken:
dictionaryName.Add(keyName, value);
Tilgang til data
Vi kan få tilgang til data i ordbøker ved å bruke nøklene:
dictionaryName[keyName]
Følgende er et eksempel som demonstrerer alle tre:
index.cs
12345678910111213141516171819202122using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { var student = new Dictionary<string, string>(); student.Add("name", "Noah"); student.Add("country", "Netherlands"); student.Add("subject", "Computer Science"); Console.WriteLine(student["name"]); Console.WriteLine(student["country"]); Console.WriteLine(student["subject"]); } } }
Hver nøkkel i et dictionary må være unik. Hvis man prøver å legge til en nøkkel som allerede finnes, vil kompilatoren vise en feil.
I ordbøker viser attributtet Count
antall nøkkel-verdi-par som er lagret i den. Metoden Remove
tar inn en nøkkel og fjerner det tilhørende nøkkel-verdi-paret fra ordboken. Metoden Clear
fjerner ganske enkelt alle nøkkel-verdi-par fra en ordbok. Det vil være en god kodeforståelsesøvelse å lese og forstå bruken av Count
, Remove
og Clear
i følgende kode:
index.cs
1234567891011121314151617181920212223242526using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { var numbers = new Dictionary<int, string>(); numbers.Add(0, "Zero"); numbers.Add(1, "One"); numbers.Add(2, "Two"); numbers.Add(3, "Three"); numbers.Add(4, "Four"); numbers.Add(5, "Five"); Console.WriteLine(numbers.Count); // Output: 6 numbers.Remove(3); Console.WriteLine(numbers.Count); // Output: 5 numbers.Clear(); Console.WriteLine(numbers.Count); // Output: 0 } } }
1. Hvilket modul må importeres for å bruke ordbøker?
2. Hva er riktig syntaks for å opprette et dictionary?
3. Hva vil være utdata for følgende kode?
Takk for tilbakemeldingene dine!