Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Qu'est-ce que les dictionnaires ? | Structures de Données et Gestion des Fichiers
C# Au-Delà des Bases

bookQu'est-ce que les dictionnaires ?

Dans les tableaux, l'accès aux données se fait par indexation (arrayName[index]). Dans un tableau, chaque valeur (élément) possède un index unique, utilisé pour accéder à cette valeur ; on peut donc dire qu'un tableau présente une structure index-valeur.

Il existe une structure similaire appelée Dictionnaire, dans laquelle nous avons des paires clé-valeur à la place. Alors qu'un index est toujours un nombre entier, une clé peut être de n'importe quel type de données de base, mais il s'agit généralement d'une string.

L'illustration suivante présente un exemple de dictionnaire qui stocke le nombre de différents fruits :

Création d'un dictionnaire

On peut déclarer un dictionnaire en utilisant la syntaxe suivante :

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

Ici, keyDataType représente le type de données de la clé tandis que valueDataType représente le type de données des valeurs. dictionaryName est le nom du dictionnaire.

Une déclaration implicite est également valide :

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

Ajout de données

La méthode Add permet d’ajouter des éléments au dictionnaire :

dictionaryName.Add(keyName, value);

Accès aux données

On peut accéder aux données dans les dictionnaires en utilisant les clés :

dictionaryName[keyName]

Voici un exemple qui illustre les trois :

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
Remarque

Chaque clé dans un dictionnaire doit être unique. Si une clé déjà existante est ajoutée, le compilateur affichera une erreur.

Dans les dictionnaires, l’attribut Count indique le nombre de paires clé-valeur stockées. La méthode Remove prend une clé en paramètre et supprime la paire clé-valeur correspondante du dictionnaire. La méthode Clear supprime simplement toutes les paires clé-valeur d’un dictionnaire. Il s’agit d’un bon exercice de lecture de code que de lire et comprendre l’utilisation de Count, Remove et Clear dans le code suivant :

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. Quel module doit être importé pour utiliser les dictionnaires ?

2. Quelle est la syntaxe correcte pour créer un dictionnaire ?

3. Quelle sera la sortie du code suivant ?

question mark

Quel module doit être importé pour utiliser les dictionnaires ?

Select the correct answer

question mark

Quelle est la syntaxe correcte pour créer un dictionnaire ?

Select the correct answer

question mark

Quelle sera la sortie du code suivant ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 4

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

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

bookQu'est-ce que les dictionnaires ?

Glissez pour afficher le menu

Dans les tableaux, l'accès aux données se fait par indexation (arrayName[index]). Dans un tableau, chaque valeur (élément) possède un index unique, utilisé pour accéder à cette valeur ; on peut donc dire qu'un tableau présente une structure index-valeur.

Il existe une structure similaire appelée Dictionnaire, dans laquelle nous avons des paires clé-valeur à la place. Alors qu'un index est toujours un nombre entier, une clé peut être de n'importe quel type de données de base, mais il s'agit généralement d'une string.

L'illustration suivante présente un exemple de dictionnaire qui stocke le nombre de différents fruits :

Création d'un dictionnaire

On peut déclarer un dictionnaire en utilisant la syntaxe suivante :

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

Ici, keyDataType représente le type de données de la clé tandis que valueDataType représente le type de données des valeurs. dictionaryName est le nom du dictionnaire.

Une déclaration implicite est également valide :

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

Ajout de données

La méthode Add permet d’ajouter des éléments au dictionnaire :

dictionaryName.Add(keyName, value);

Accès aux données

On peut accéder aux données dans les dictionnaires en utilisant les clés :

dictionaryName[keyName]

Voici un exemple qui illustre les trois :

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
Remarque

Chaque clé dans un dictionnaire doit être unique. Si une clé déjà existante est ajoutée, le compilateur affichera une erreur.

Dans les dictionnaires, l’attribut Count indique le nombre de paires clé-valeur stockées. La méthode Remove prend une clé en paramètre et supprime la paire clé-valeur correspondante du dictionnaire. La méthode Clear supprime simplement toutes les paires clé-valeur d’un dictionnaire. Il s’agit d’un bon exercice de lecture de code que de lire et comprendre l’utilisation de Count, Remove et Clear dans le code suivant :

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. Quel module doit être importé pour utiliser les dictionnaires ?

2. Quelle est la syntaxe correcte pour créer un dictionnaire ?

3. Quelle sera la sortie du code suivant ?

question mark

Quel module doit être importé pour utiliser les dictionnaires ?

Select the correct answer

question mark

Quelle est la syntaxe correcte pour créer un dictionnaire ?

Select the correct answer

question mark

Quelle sera la sortie du code suivant ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 4
some-alt