Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Vad Är Ordböcker? | Datastrukturer och Filhantering
C# Bortom Grunderna

bookVad Är Ordböcker?

I arrayer får vi åtkomst till data genom indexering (arrayName[index]). I en array har varje värde (element) ett unikt index, vilket används för att komma åt det värdet, därför kan vi säga att en array har en index-värde-struktur.

Det finns en liknande struktur som kallas Dictionary (ordbok), där vi istället har nyckel-värde-par. Medan ett index alltid är ett heltal, kan en nyckel vara av vilken grundläggande datatyp som helst, men det är vanligtvis en string.

Följande illustration visar ett exempel på en dictionary som lagrar antalet olika frukter:

Skapa en Dictionary

Vi kan deklarera en dictionary med följande syntax:

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

Här representerar keyDataType datatypen för nyckeln medan valueDataType representerar datatypen för värdena. dictionaryName är namnet på ordboken.

En implicit deklaration är också giltig:

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

Lägga till data

Metoden Add används för att lägga till poster i ordboken:

dictionaryName.Add(keyName, value);

Åtkomst till data

Data i ordböcker kan nås med hjälp av nycklar:

dictionaryName[keyName]

Följande är ett exempel som demonstrerar alla 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
Observera

Varje nyckel i en dictionary måste vara unik. Om vi försöker lägga till en nyckel som redan finns kommer kompilatorn att visa ett felmeddelande.

I ordböcker visar attributet Count antalet nyckel-värde-par som lagras i den. Metoden Remove tar in en nyckel och tar bort det nyckel-värde-paret från ordboken. Metoden Clear tar helt enkelt bort alla nyckel-värde-par från en ordbok. Det är en bra kodläsningsövning att läsa och förstå användningen av Count, Remove och Clear från följande kod:

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. Vilket modul måste importeras för att använda ordböcker?

2. Vilken är den korrekta syntaxen för att skapa ett dictionary?

3. Vad blir utdata från följande kod?

question mark

Vilket modul måste importeras för att använda ordböcker?

Select the correct answer

question mark

Vilken är den korrekta syntaxen för att skapa ett dictionary?

Select the correct answer

question mark

Vad blir utdata från följande kod?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 4

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 2.04

bookVad Är Ordböcker?

Svep för att visa menyn

I arrayer får vi åtkomst till data genom indexering (arrayName[index]). I en array har varje värde (element) ett unikt index, vilket används för att komma åt det värdet, därför kan vi säga att en array har en index-värde-struktur.

Det finns en liknande struktur som kallas Dictionary (ordbok), där vi istället har nyckel-värde-par. Medan ett index alltid är ett heltal, kan en nyckel vara av vilken grundläggande datatyp som helst, men det är vanligtvis en string.

Följande illustration visar ett exempel på en dictionary som lagrar antalet olika frukter:

Skapa en Dictionary

Vi kan deklarera en dictionary med följande syntax:

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

Här representerar keyDataType datatypen för nyckeln medan valueDataType representerar datatypen för värdena. dictionaryName är namnet på ordboken.

En implicit deklaration är också giltig:

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

Lägga till data

Metoden Add används för att lägga till poster i ordboken:

dictionaryName.Add(keyName, value);

Åtkomst till data

Data i ordböcker kan nås med hjälp av nycklar:

dictionaryName[keyName]

Följande är ett exempel som demonstrerar alla 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
Observera

Varje nyckel i en dictionary måste vara unik. Om vi försöker lägga till en nyckel som redan finns kommer kompilatorn att visa ett felmeddelande.

I ordböcker visar attributet Count antalet nyckel-värde-par som lagras i den. Metoden Remove tar in en nyckel och tar bort det nyckel-värde-paret från ordboken. Metoden Clear tar helt enkelt bort alla nyckel-värde-par från en ordbok. Det är en bra kodläsningsövning att läsa och förstå användningen av Count, Remove och Clear från följande kod:

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. Vilket modul måste importeras för att använda ordböcker?

2. Vilken är den korrekta syntaxen för att skapa ett dictionary?

3. Vad blir utdata från följande kod?

question mark

Vilket modul måste importeras för att använda ordböcker?

Select the correct answer

question mark

Vilken är den korrekta syntaxen för att skapa ett dictionary?

Select the correct answer

question mark

Vad blir utdata från följande kod?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 4
some-alt