Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Hvad er ordbøger? | Datastrukturer og Filhåndtering
C# Ud Over Det Grundlæggende

bookHvad er ordbøger?

I arrays tilgås data via indeksering (arrayName[index]). I en array har hver værdi (element) et unikt indeks, som bruges til at tilgå denne værdi, derfor kan vi sige, at en array har en indeks-værdi struktur.

Der findes en lignende struktur kaldet et Dictionary, hvor vi i stedet har nøgle-værdi par. Hvor et indeks altid er et heltal, kan en nøgle være af enhver grundlæggende datatype, men det er ofte en string.

Følgende illustration viser et eksempel på et dictionary, der gemmer antallet af forskellige frugter:

Oprettelse af et Dictionary

Et dictionary kan deklareres med følgende syntaks:

IDictionary<keyDataType, valueDataType> dictionaryName = new Dictionary<keyDataType, valueDataType>();

Her repræsenterer keyDataType datatypen for nøglen, mens valueDataType repræsenterer datatypen for værdierne. dictionaryName er navnet på ordbogen.

En implicit deklaration er også gyldig:

var dictionaryName = new Dictionary<keyDataType, valueDataType>();

Tilføjelse af data

Add-metoden kan bruges til at tilføje elementer til ordbogen:

dictionaryName.Add(keyName, value);

Adgang til data

Data i ordbøger kan tilgås ved hjælp af nøglerne:

dictionaryName[keyName]

Følgende er et eksempel, der 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
Bemærk

Hver nøgle i et dictionary skal være unik. Hvis man forsøger at tilføje en nøgle, der allerede findes, vil compileren vise en fejl.

I ordbøger viser attributten Count antallet af nøgle-værdi-par, der er gemt i den. Metoden Remove tager en nøgle som parameter og fjerner det tilhørende nøgle-værdi-par fra ordbogen. Metoden Clear fjerner blot alle nøgle-værdi-par fra en ordbog. Det vil være en god kode-læseøvelse at læse og forstå brugen af 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 skal importeres for at bruge ordbøger?

2. Hvad er den korrekte syntaks for at oprette et dictionary?

3. Hvad vil output være for følgende kode?

question mark

Hvilket modul skal importeres for at bruge ordbøger?

Select the correct answer

question mark

Hvad er den korrekte syntaks for at oprette et dictionary?

Select the correct answer

question mark

Hvad vil output være for følgende kode?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 4

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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

bookHvad er ordbøger?

Stryg for at vise menuen

I arrays tilgås data via indeksering (arrayName[index]). I en array har hver værdi (element) et unikt indeks, som bruges til at tilgå denne værdi, derfor kan vi sige, at en array har en indeks-værdi struktur.

Der findes en lignende struktur kaldet et Dictionary, hvor vi i stedet har nøgle-værdi par. Hvor et indeks altid er et heltal, kan en nøgle være af enhver grundlæggende datatype, men det er ofte en string.

Følgende illustration viser et eksempel på et dictionary, der gemmer antallet af forskellige frugter:

Oprettelse af et Dictionary

Et dictionary kan deklareres med følgende syntaks:

IDictionary<keyDataType, valueDataType> dictionaryName = new Dictionary<keyDataType, valueDataType>();

Her repræsenterer keyDataType datatypen for nøglen, mens valueDataType repræsenterer datatypen for værdierne. dictionaryName er navnet på ordbogen.

En implicit deklaration er også gyldig:

var dictionaryName = new Dictionary<keyDataType, valueDataType>();

Tilføjelse af data

Add-metoden kan bruges til at tilføje elementer til ordbogen:

dictionaryName.Add(keyName, value);

Adgang til data

Data i ordbøger kan tilgås ved hjælp af nøglerne:

dictionaryName[keyName]

Følgende er et eksempel, der 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
Bemærk

Hver nøgle i et dictionary skal være unik. Hvis man forsøger at tilføje en nøgle, der allerede findes, vil compileren vise en fejl.

I ordbøger viser attributten Count antallet af nøgle-værdi-par, der er gemt i den. Metoden Remove tager en nøgle som parameter og fjerner det tilhørende nøgle-værdi-par fra ordbogen. Metoden Clear fjerner blot alle nøgle-værdi-par fra en ordbog. Det vil være en god kode-læseøvelse at læse og forstå brugen af 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 skal importeres for at bruge ordbøger?

2. Hvad er den korrekte syntaks for at oprette et dictionary?

3. Hvad vil output være for følgende kode?

question mark

Hvilket modul skal importeres for at bruge ordbøger?

Select the correct answer

question mark

Hvad er den korrekte syntaks for at oprette et dictionary?

Select the correct answer

question mark

Hvad vil output være for følgende kode?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 4
some-alt