Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Wat Zijn Dictionaries? | Datastructuren & Bestandsafhandeling
C# Verder dan de Basis

bookWat Zijn Dictionaries?

In arrays benaderen we gegevens via indexering (arrayName[index]). In een array heeft elke waarde (element) een unieke index, die wordt gebruikt om die waarde te benaderen. Daarom kunnen we zeggen dat een array een index-waarde structuur heeft.

Er bestaat een vergelijkbare structuur, een Dictionary, waarin we in plaats daarvan sleutel-waarde paren hebben. Terwijl een index altijd een geheel getal is, kan een sleutel elk basistype zijn, maar meestal is het een string.

De volgende illustratie toont een voorbeeld van een dictionary die het aantal verschillende fruitsoorten opslaat:

Een Dictionary aanmaken

We kunnen een dictionary declareren met de volgende syntaxis:

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

Hier vertegenwoordigt keyDataType het gegevenstype van de sleutel, terwijl valueDataType het gegevenstype van de waarden aangeeft. dictionaryName is de naam van het woordenboek.

Een impliciete declaratie is ook geldig:

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

Gegevens toevoegen

De Add-methode kan worden gebruikt om items aan het woordenboek toe te voegen:

dictionaryName.Add(keyName, value);

Gegevens benaderen

De gegevens in woordenboeken kunnen worden benaderd met behulp van de sleutels:

dictionaryName[keyName]

Het volgende is een voorbeeld dat alle drie demonstreert:

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
Opmerking

Elke sleutel in een dictionary moet uniek zijn. Als geprobeerd wordt een sleutel toe te voegen die al bestaat, zal de compiler een foutmelding geven.

In woordenboeken geeft het attribuut Count het aantal opgeslagen sleutel-waardeparen weer. De methode Remove neemt een sleutel als parameter en verwijdert dat sleutel-waarde paar uit het woordenboek. De methode Clear verwijdert eenvoudigweg alle sleutel-waardeparen uit een woordenboek. Het is een goede oefening om de code te lezen en het gebruik van Count, Remove en Clear te begrijpen aan de hand van de volgende code:

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. Welke module moet worden geïmporteerd om woordenboeken te gebruiken?

2. Wat is de juiste syntaxis voor het aanmaken van een dictionary?

3. Wat zal de uitvoer zijn van de volgende code?

question mark

Welke module moet worden geïmporteerd om woordenboeken te gebruiken?

Select the correct answer

question mark

Wat is de juiste syntaxis voor het aanmaken van een dictionary?

Select the correct answer

question mark

Wat zal de uitvoer zijn van de volgende code?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 4

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 2.04

bookWat Zijn Dictionaries?

Veeg om het menu te tonen

In arrays benaderen we gegevens via indexering (arrayName[index]). In een array heeft elke waarde (element) een unieke index, die wordt gebruikt om die waarde te benaderen. Daarom kunnen we zeggen dat een array een index-waarde structuur heeft.

Er bestaat een vergelijkbare structuur, een Dictionary, waarin we in plaats daarvan sleutel-waarde paren hebben. Terwijl een index altijd een geheel getal is, kan een sleutel elk basistype zijn, maar meestal is het een string.

De volgende illustratie toont een voorbeeld van een dictionary die het aantal verschillende fruitsoorten opslaat:

Een Dictionary aanmaken

We kunnen een dictionary declareren met de volgende syntaxis:

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

Hier vertegenwoordigt keyDataType het gegevenstype van de sleutel, terwijl valueDataType het gegevenstype van de waarden aangeeft. dictionaryName is de naam van het woordenboek.

Een impliciete declaratie is ook geldig:

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

Gegevens toevoegen

De Add-methode kan worden gebruikt om items aan het woordenboek toe te voegen:

dictionaryName.Add(keyName, value);

Gegevens benaderen

De gegevens in woordenboeken kunnen worden benaderd met behulp van de sleutels:

dictionaryName[keyName]

Het volgende is een voorbeeld dat alle drie demonstreert:

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
Opmerking

Elke sleutel in een dictionary moet uniek zijn. Als geprobeerd wordt een sleutel toe te voegen die al bestaat, zal de compiler een foutmelding geven.

In woordenboeken geeft het attribuut Count het aantal opgeslagen sleutel-waardeparen weer. De methode Remove neemt een sleutel als parameter en verwijdert dat sleutel-waarde paar uit het woordenboek. De methode Clear verwijdert eenvoudigweg alle sleutel-waardeparen uit een woordenboek. Het is een goede oefening om de code te lezen en het gebruik van Count, Remove en Clear te begrijpen aan de hand van de volgende code:

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. Welke module moet worden geïmporteerd om woordenboeken te gebruiken?

2. Wat is de juiste syntaxis voor het aanmaken van een dictionary?

3. Wat zal de uitvoer zijn van de volgende code?

question mark

Welke module moet worden geïmporteerd om woordenboeken te gebruiken?

Select the correct answer

question mark

Wat is de juiste syntaxis voor het aanmaken van een dictionary?

Select the correct answer

question mark

Wat zal de uitvoer zijn van de volgende code?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 4
some-alt