Qu'est-ce que Hashtable en C #?
Une table de hachage est une collection spéciale utilisée pour stocker des éléments clé-valeur. Ainsi, au lieu de stocker une seule valeur comme la pile, la liste de tableaux et la file d'attente, la table de hachage stocke 2 valeurs. Ces 2 valeurs forment un élément de la table de hachage.
Voici quelques exemples de l'apparence des valeurs d'une table de hachage.
{ "001" , ".Net" }{ "002" , ".C#" }{ "003" , "ASP.Net" }
Ci-dessus, nous avons 3 paires de valeurs clés. Les clés de chaque élément sont respectivement 001, 002 et 003. Les valeurs de chaque paire clé / valeur sont respectivement ".Net", "C #" et "ASP.Net".
Examinons plus en détail les opérations disponibles pour la collection Hashtable.
Déclaration de la table de hachage
La déclaration d'une table de hachage est illustrée ci-dessous. Une table de hachage est créée à l'aide du type de données de table de hachage. Le mot-clé "new" est utilisé pour créer un objet d'une table de hachage. L'objet est alors affecté à la variable ht.
Hashtable ht = new Hashtable()
Ajouter des éléments à la table de hachage
La méthode Add est utilisée pour ajouter un élément à la file d'attente. La syntaxe générale de l'instruction est donnée ci-dessous
HashTable.add("key","value")
Exemple 1:
N'oubliez pas que chaque élément de la table de hachage comprend 2 valeurs, l'une est la clé et l'autre la valeur.
Maintenant, voyons cela fonctionner au niveau du code. Tout le code mentionné ci-dessous sera écrit dans notre application Console.
Le code sera écrit dans notre fichier Program.cs. Dans le programme ci-dessous, nous écrirons le code pour voir comment nous pouvons utiliser les méthodes mentionnées ci-dessus.
Pour l'instant, dans notre exemple, nous allons simplement regarder comment nous pouvons créer une table de hachage, ajouter des éléments à la table de hachage et les afficher en conséquence.
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Hashtable ht = new Hashtable();ht.Add("001",".Net");ht.Add("002","C#");ht.Add("003","ASP.Net");ICollection keys = ht.Keys;foreach (String k in keys){Console.WriteLine(ht[k]);}Console.ReadKey();}}}
Explication du code: -
- Tout d'abord, nous déclarons la variable de hachage en utilisant le type de données Hashtable en utilisant le mot-clé «Nouveau». Le nom de la variable défini est «ht».
- Nous ajoutons ensuite des éléments à la table de hachage à l'aide de la méthode Add. N'oubliez pas que nous devons ajouter à la fois un élément clé et un élément de valeur lors de l'ajout de quelque chose à la table de hachage.
- Il n'existe aucun moyen direct d'afficher les éléments d'une table de hachage.
- Afin d'afficher la table de hachage, nous devons d'abord obtenir la liste des clés (001, 002 et 003) à partir de la table de hachage.
- Cela se fait via l'interface ICollection. Il s'agit d'un type de données spécial qui peut être utilisé pour stocker les clés d'une collection de tables de hachage. Nous attribuons ensuite les clés de la collection de tables de hachage à la variable «clés».
- Ensuite, pour chaque valeur de clé, nous obtenons la valeur associée dans la table de hachage en utilisant l'instruction ht [k].
Si le code ci-dessus est entré correctement et que le programme est exécuté, la sortie suivante sera affichée.
Production:
Regardons quelques autres méthodes disponibles pour les tables de hachage.
Contient la clé
Cette méthode est utilisée pour voir si une clé est présente dans la table de hachage. Voici la syntaxe générale de cette déclaration. L'instruction renverra true si la clé existe, sinon elle renverra la valeur false.
Hashtable.Containskey(key)
ContientValeur
Cette méthode est utilisée pour voir si une valeur est présente dans la table de hachage. Voici la syntaxe générale de cette déclaration. L'instruction retournera true si la valeur existe, sinon elle renverra la valeur false.
Hashtable.ContainsValue(value)
Exemple 2:
Modifions le code dans notre application Console pour montrer comment nous pouvons utiliser les méthodes "Containskey" et "ContainsValue".
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Hashtable ht = new Hashtable();ht.Add("001",".Net");ht.Add("002","C#");ht.Add("003","ASP.Net");Console.WriteLine(ht.ContainsKey("001"));Console.WriteLine(ht.ContainsValue("C#"));Console.ReadKey();}}}
Explication du code: -
- Tout d'abord, nous utilisons la méthode ContainsKey pour voir si la clé est présente dans la table de hachage. Cette méthode retournera true si la clé est présente dans la table de hachage. Cette méthode doit retourner true car la clé existe dans la table de hachage.
- Nous utilisons ensuite la méthode ContainsValue pour voir si la valeur est présente dans la table de hachage. Cette méthode retournera «vrai» car la valeur existe dans la table de hachage.
Si le code ci-dessus est entré correctement et que le programme est exécuté, la sortie suivante sera affichée.
Production:
À partir de la sortie, vous pouvez clairement voir que la clé et la valeur recherchée sont présentes dans la table de hachage.
Résumé
- Une table de hachage est utilisée pour stocker des éléments qui comprennent des paires de valeurs clés. Pour accéder à la valeur d'un élément, vous devez connaître la clé de l'élément.