Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Hva er ordbøker? | Datastrukturer og Filhåndtering
C# Utover Det Grunnleggende

bookHva 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

index.cs

copy
12345678910111213141516171819202122
using 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"]); } } }
Note
Merk

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

index.cs

copy
1234567891011121314151617181920212223242526
using 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?

question mark

Hvilket modul må importeres for å bruke ordbøker?

Select the correct answer

question mark

Hva er riktig syntaks for å opprette et dictionary?

Select the correct answer

question mark

Hva vil være utdata for følgende kode?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 4

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

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

bookHva 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

index.cs

copy
12345678910111213141516171819202122
using 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"]); } } }
Note
Merk

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

index.cs

copy
1234567891011121314151617181920212223242526
using 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?

question mark

Hvilket modul må importeres for å bruke ordbøker?

Select the correct answer

question mark

Hva er riktig syntaks for å opprette et dictionary?

Select the correct answer

question mark

Hva vil være utdata for følgende kode?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 4
some-alt