Un dictionnaire est une structure de données utile qui vous permet de stocker des paires clé-valeur. Vous pouvez accéder efficacement à une valeur du dictionnaire en utilisant sa clé.
Les dictionnaires en C# prennent en charge des actions telles que la suppression d'une valeur ou l'itération sur l'ensemble des valeurs.
Qu'est-ce qu'un dictionnaire en C# ?
Un dictionnaire C# est l'un des les structures de données les plus importantes vous pouvez en apprendre davantage. C'est un peu comme la structure de données Java HashMap. Ses clés doivent être uniques, mais elles peuvent être de presque n'importe quel type. Un dictionnaire simple utilise des valeurs scalaires.
Par exemple, cet ensemble de données a un ID d'animal de compagnie comme clé et le nom de l'animal comme valeur :
{1001, "Mia"},
{1002, "Oscar"},
{1003, "Oiseau"},
{1004, "Bleu"},
{1005, "Leo"},
{1006, "Travis"}
Cette structure vous permet d'accéder aux données à l'aide de la clé particulière qui fait référence à un enregistrement. Par exemple, vous pouvez récupérer l'enregistrement avec la valeur
Birdie en le référençant avec la clé de recherche 1003.Comment créer un dictionnaire
Pour créer un dictionnaire, vous devez spécifier le type d'objet pour la clé et la valeur.
- Créez le dictionnaire. Dans cet exemple, la clé est un entier et la valeur de chaque enregistrement est une chaîne.
Dictionnaire<entier, corde> animaux de compagnie = Nouveau Dictionnaire<entier, corde>();
- Vous devrez utiliser le Système. Collections. Générique namespace qui contient la classe Dictionary. Assurez-vous de le faire en haut de votre fichier :
en utilisant Système. Collections. Générique;
Comment ajouter des éléments au dictionnaire
Vous pouvez ajouter des éléments au dictionnaire pendant ou après son initialisation.
- Vous pouvez ajouter des éléments lors de l'initialisation du dictionnaire. Pour ce faire, ajoutez des valeurs entre accolades après la nouvelle instruction Dictionary initiale.
Dictionnaire<entier, corde> animaux de compagnie = Nouveau Dictionnaire<entier, corde>()
{
{1001, "Mia"},
{1002, "Oscar"},
{1003, "Oiseau"},
{1004, "Bleu"},
{1005, "Leo"},
{1006, "Travis"}
}; - Si vous avez déjà créé le dictionnaire, vous pouvez utiliser la méthode intégrée Add() du dictionnaire.
animaux domestiques. Ajouter(1007, "Enneigé");
Vous ne pouvez pas ajouter de valeur pour une clé qui existe déjà. Si vous essayez de le faire, vous obtiendrez une ArgumentException.
Vous ne pouvez pas utiliser un nul valeur comme clé pour une entrée dans un dictionnaire. Cependant, vous pouvez stocker une valeur nulle dans un dictionnaire.
Comment ajouter des objets au dictionnaire
Si vous utilisez un oprogrammation orientée objet style, vous avez probablement au moins une classe que vous utilisez pour créer des objets avec. Supposons que vous ayez une classe qui stocke des détails sur les animaux :
Vous pouvez ajouter des objets créés à partir de cette classe à un dictionnaire.
- Assurez-vous de créer le dictionnaire avec le type d'objet Pet spécifié pour la valeur.
Dictionnaire<entier, Pet> petObjets = Nouveau Dictionnaire<entier, Animal>();
- Créez votre objet de compagnie.
Pet mia = Nouveau Animal de compagnie(1001, "Mia", Nouveau DateHeure(2010, 6, 29), 9.0,
Nouveau DateHeure(2022, 05, 02)); - Ajoutez le nouvel objet animal de compagnie au dictionnaire.
petObjects. Ajouter(1001, mia);
Comment accéder à un élément du dictionnaire
Vous pouvez accéder à un élément du dictionnaire à l'aide de la clé.
- Utilisez le nom de la variable pour le dictionnaire, suivi de la clé autour d'une paire de crochets. Cela renverra l'objet stocké dans cette partie particulière du dictionnaire.
var pet = petObjects[1001];
Console. WriteLine (pet.nom);
Comment parcourir le dictionnaire
Vous pouvez utiliser un pour chaque boucle pour itérer sur un dictionnaire :
- Utilisez un foreach pour itérer sur chaque KeyValuePair dans le dictionnaire. En supposant que vous avez appelé votre itérateur entrée, vous pouvez accéder à la clé et à la valeur en utilisant entrée. Clé et entrée. Valeur.
pour chaque (PaireValeurClé<entier, Animal> entrée dans petObjects)
{
// imprime la clé
Console. WriteLine (entrée. Clé);// affiche le nom de l'objet pour cet enregistrement
Console. WriteLine (entrée. valeur.nom);
}
Comment mettre à jour un élément dans un dictionnaire
Vous pouvez mettre à jour un élément en écrasant sa valeur dans le dictionnaire.
- Si vous avez des types d'objets simples dans votre dictionnaire, vous pouvez écraser directement la valeur d'un enregistrement.
animaux domestiques[1001] = "Maya" ;
- Si vous avez ajouté des objets à votre dictionnaire, vous pouvez remplacer une valeur par un tout nouvel objet.
Lapin de compagnie = Nouveau Animal de compagnie(1001, "Lapin", Nouveau DateHeure(2021, 8, 1), 3.0, Nouveau DateHeure(2021, 8, 4));
petObjects[1001] = lapin ; - Si vous avez un objet dans le dictionnaire, vous pouvez également mettre à jour une seule propriété. Vous pouvez écraser la valeur de la propriété directement ou utiliser un setter.
petObjects[1001].name = "Maya" ;
// OU ALORS
petObjects[1001].setName("Maya");
Comment supprimer un élément dans un dictionnaire
Vous pouvez choisir de supprimer un seul élément ou tous les éléments.
- Pour supprimer un seul élément, utilisez la méthode Built-in Remove() du dictionnaire. Entrez la clé de l'enregistrement que vous souhaitez supprimer comme argument.
petObjects. Éliminer(1002);
- Pour supprimer tous les éléments du dictionnaire, utilisez la méthode Built-in Clear() du dictionnaire
petObjects. Dégager();
Structures de données en C#
Ce didacticiel a expliqué comment créer un dictionnaire en C # et comment ajouter des éléments au dictionnaire. En outre, il a également expliqué comment mettre à jour, supprimer et parcourir le dictionnaire.
Si vous souhaitez améliorer votre vocabulaire de structure de données, vous pouvez commencer à explorer des structures de données plus avancées. Quelques exemples de ceux-ci incluent le tas de Fibonacci, l'arbre AVL ou l'arbre noir rouge.
3 structures de données avancées que chaque programmeur devrait connaître
Lire la suite
Rubriques connexes
- Programmation
- Dictionnaire
- Programmation
A propos de l'auteur
Sharlene est rédactrice technique chez MUO et travaille également à plein temps dans le développement de logiciels. Elle est titulaire d'un baccalauréat en informatique et possède une expérience antérieure en assurance qualité et en tutorat universitaire. Sharlene adore jouer et jouer du piano.
Abonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !
Cliquez ici pour vous abonner