logo

Dictionnaire C# avec exemples

En C#, Dictionary est une collection générique qui est généralement utilisée pour stocker des paires clé/valeur. Le fonctionnement de Dictionary est assez similaire à celui de la table de hachage non générique. L’avantage du dictionnaire est qu’il est de type générique. Le dictionnaire est défini sous l’espace de noms System.Collections.Generic. Il est de nature dynamique, ce qui signifie que la taille du dictionnaire augmente en fonction des besoins. Les points importants:

  • La classe Dictionary implémente le
    • IDictionnaire Interface
    • IReadOnlyCollection Interface
    • IReadOnlyDictionary Interface
    • IDictionnaire Interface
  • Dans le dictionnaire, la clé ne peut pas être nulle, mais la valeur peut l'être.
  • Dans le dictionnaire, la clé doit être unique. Les clés en double ne sont pas autorisées si vous essayez d'utiliser une clé en double, le compilateur lancera une exception.
  • Dans le dictionnaire, vous ne pouvez stocker que les mêmes types d’éléments.
  • La capacité d'un dictionnaire est le nombre d'éléments que le dictionnaire peut contenir.

Comment créer le Dictionnaire ?

La classe de dictionnaire a 7 constructeurs qui sont utilisés pour créer le dictionnaire, ici nous utilisons uniquement le constructeur Dictionary() et si vous souhaitez en savoir plus sur les constructeurs, reportez-vous C# | Classe de dictionnaire . Dictionnaire(): Ce constructeur est utilisé pour créer une instance de la classe Dictionary qui est vide, a la capacité initiale par défaut et utilise le comparateur d'égalité par défaut pour le type de clé comme suit : Étape 1: Incluez l'espace de noms System.Collections.Generic dans votre programme à l'aide du mot-clé using. Syntaxe:



using System.Collections.Generic;>

Étape 2: Créez un dictionnaire à l'aide de la classe Dictionary comme indiqué ci-dessous :

Dictionary dictionary_name = new Dictionary();>

Étape 3: Si vous souhaitez ajouter des éléments dans votre dictionnaire, utilisez la méthode Add() pour ajouter des paires clé/valeur dans votre dictionnaire. Et vous pouvez également ajouter une paire clé/valeur dans le dictionnaire sans utiliser la méthode Add. Comme le montre l'exemple ci-dessous. Étape 4: La paire clé/valeur du Dictionnaire est accessible en utilisant trois différentes façons:

    Boucle for : vous pouvez utiliser la boucle for pour accéder aux paires clé/valeur du dictionnaire. Exemple:

CSharp



java commutateur int






for>(>int> x=0; x { Console.WriteLine('{0} and {1}', My_dict1.Keys.ElementAt(x), My_dict1[ My_dict1.Keys.ElementAt(x)]); }>

>

>

    Utilisation de l'index : vous pouvez accéder à une paire clé/valeur individuelle du dictionnaire en utilisant sa valeur d'index. Ici, il vous suffit de spécifier la clé dans l'index pour obtenir la valeur du dictionnaire donné, pas besoin de spécifier l'index. L'indexeur prend toujours la clé comme paramètre, si la clé donnée n'est pas disponible dans le dictionnaire, alors il donne KeyNotFoundException . Exemple:

CSharp




Console.WriteLine('Value>is>:{0}', My_dicti[1123]);> Console.WriteLine('Value>is>:{0}', My_dicti[1125]);>

logique propositionnelle
>

>

    boucle foreach : vous pouvez utiliser la boucle foreach pour accéder aux paires clé/valeur du dictionnaire. Comme le montre l'exemple ci-dessous, nous accédons au dictionnaire à l'aide d'une boucle foreach.

Exemple:

CSharp




// C# program to illustrate how> // to create a dictionary> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main () {> > >// Creating a dictionary> >// using Dictionary class> >Dictionary<>int>,>string>>Mon_dict1 => >new> Dictionary<>int>,>string>>();> > >// Adding key/value pairs> >// in the Dictionary> >// Using Add() method> >My_dict1.Add(1123, 'Welcome');> >My_dict1.Add(1124, 'to');> >My_dict1.Add(1125, 'techcodeview.com');> > >foreach>(KeyValuePair<>int>,>string>>ele1>in> My_dict1)> >{> >Console.WriteLine('{0} and {1}',> >ele1.Key, ele1.Value);> >}> >Console.WriteLine();> > >// Creating another dictionary> >// using Dictionary class> >// adding key/value pairs without> >// using Add method> >Dictionary<>string>,>string>>Mon_dict2 => >new> Dictionary<>string>,>string>>(){> >{'a.1', 'Dog'},> >{'a.2', 'Cat'},> >{'a.3', 'Pig'} };> > >foreach>(KeyValuePair<>string>,>string>>ele2>>in> My_dict2)> >{> >Console.WriteLine('{0} and {1}', ele2.Key, ele2.Value);> >}> >}> }>

>

>

Sortir:

1123 and Welcome 1124 and to 1125 and techcodeview.com a.1 and Dog a.2 and Cat a.3 and Pig>

Comment supprimer des éléments du Dictionnaire ?

Dans le dictionnaire, vous êtes autorisé à supprimer des éléments du dictionnaire. La classe Dictionary fournit deux méthodes différentes pour supprimer des éléments et les méthodes sont :

  • Clair : Cette méthode supprime toutes les clés et valeurs du dictionnaire.
  • Retirer : Cette méthode supprime la valeur avec la clé spécifiée du dictionnaire.

Exemple:

CSharp


python nouvelle ligne



// C# program to illustrate how> // remove key/value pairs from> // the dictionary> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main() {> > >// Creating a dictionary> >// using Dictionary class> >Dictionary<>int>,>string>>Mon_dict => >new> Dictionary<>int>,>string>>();> > >// Adding key/value pairs in the> >// Dictionary Using Add() method> >My_dict.Add(1123, 'Welcome');> >My_dict.Add(1124, 'to');> >My_dict.Add(1125, 'techcodeview.com');> > >// Before Remove() method> >foreach>(KeyValuePair<>int>,>string>>il>in> My_dict)> >{> >Console.WriteLine('{0} and {1}',> >ele.Key, ele.Value);> >}> >Console.WriteLine();> > >// Using Remove() method> >My_dict.Remove(1123);> > >// After Remove() method> >foreach>(KeyValuePair<>int>,>string>>il>in> My_dict)> >{> >Console.WriteLine('{0} and {1}',> >ele.Key, ele.Value);> >}> >Console.WriteLine();> > > >// Using Clear() method> >My_dict.Clear();> > >Console.WriteLine('Total number of key/value '+> >'pairs present>in> My_dict:{0}', My_dict.Count);> > >}> }>

>

>

Sortir:

1123 and Welcome 1124 and to 1125 and techcodeview.com 1124 and to 1125 and techcodeview.com Total number of key/value pairs present in My_dict:0>

Comment vérifier la disponibilité des éléments dans le Dictionnaire ?

Dans Dictionnaire, vous pouvez vérifier si la clé ou la valeur donnée est présente ou non dans le dictionnaire spécifié. La classe Dictionary fournit deux méthodes différentes de vérification et les méthodes sont :

  • ContientClé : Cette méthode est utilisée pour vérifier si le dictionnaire contient la clé spécifiée.
  • ContientValeur : Cette méthode est utilisée pour vérifier si le dictionnaire contient une valeur spécifique.

Exemple:

CSharp




// C# program to illustrate how> // to check the given key or> // value present in the dictionary> // or not> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main () {> > >// Creating a dictionary> >// using Dictionary class> >Dictionary<>int>,>string>>Mon_dict => >new> Dictionary<>int>,>string>>();> > >// Adding key/value pairs in the> >// Dictionary Using Add() method> >My_dict.Add(1123, 'Welcome');> >My_dict.Add(1124, 'to');> >My_dict.Add(1125, 'techcodeview.com');> > >// Using ContainsKey() method to check> >// the specified key is present or not> >if> (My_dict.ContainsKey(1122)==>true>)> >{> >Console.WriteLine('Key>is> found...!!');> >}> >else> >{> >Console.WriteLine('Key>is> not found...!!');> >}> > >// Using ContainsValue() method to check> >// the specified value is present or not> >if> (My_dict.ContainsValue('techcodeview.com')==>true>)> >{> >Console.WriteLine('Value>is> found...!!');> >}> >else> >{> >Console.WriteLine('Value>is> not found...!!');> >}> >}> }>

>

>

Sortir:

Key is not found...!! Value is found...!!>