Hashtable C# Expliqué : Stockage Clé-Valeur, Opérations et Exemples Pratiques
Qu'est-ce qu'un Hashtable en C# ?
Un Hashtable est une collection non générique qui stocke les données sous forme de paires clé-valeur. Contrairement aux tableaux ou listes qui contiennent une seule valeur par index, un hashtable vous permet de récupérer une valeur directement en utilisant sa clé unique, offrant une recherche en temps moyen O(1).
Les entrées typiques ressemblent à ceci :
{ "001", ".Net" }
{ "002", "C#" }
{ "003", "ASP.Net" }
Ici, les clés sont "001", "002" et "003", et les valeurs correspondantes sont ".Net", "C#" et "ASP.Net".
Ci-dessous, nous plongeons dans les opérations les plus courantes que vous utiliserez avec Hashtable.
Déclaration d'un Hashtable
Instanciez un hashtable en utilisant le type Hashtable et le mot-clé new :
Hashtable ht = new Hashtable();
Ajout d'Éléments
Utilisez la méthode Add pour insérer une paire clé-valeur. La clé et la valeur doivent toutes deux être fournies :
ht.Add("001", ".Net");
ht.Add("002", "C#");
ht.Add("003", "ASP.Net");
Exemple 1 – Affichage de Toutes les Valeurs
L'application console suivante démontre la création d'un hashtable, son remplissage et l'impression de chaque valeur :

using System;
using System.Collections;
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
- Déclarer la variable
Hashtableht. - Ajouter des paires clé-valeur en utilisant
Add. - Récupérer la collection de clés via
ht.Keys(retourne unICollection). - Itérer sur les clés et afficher la valeur associée avec
ht[key].
L'exécution du programme produit :

Méthodes Courantes
ContainsKey
Vérifier si une clé spécifique existe :
ht.ContainsKey("001"); // retourne true si la clé est présente
ContainsValue
Vérifier si une valeur particulière est stockée dans le hashtable :
ht.ContainsValue("C#"); // retourne true si la valeur est trouvée
Exemple 2 – Utilisation de ContainsKey & ContainsValue
Voici un programme concis qui démontre les deux méthodes :

using System;
using System.Collections;
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")); // true
Console.WriteLine(ht.ContainsValue("C#")); // true
Console.ReadKey();
}
}
}
Explication
- L'utilisation de
ContainsKeyconfirme la présence de "001". - L'utilisation de
ContainsValueconfirme que "C#" est stocké.
La console affiche :

Points Clés à Retenir
Un Hashtable stocke les éléments sous forme de paires clé-valeur, permettant une recherche rapide lorsque vous connaissez la clé. Bien que le Dictionary<TKey, TValue> générique soit recommandé pour la sécurité de type en C# moderne, comprendre Hashtable reste précieux pour le code legacy et les scénarios d'interopérabilité.
Langue C
- Expressions, instructions et blocs C# : Guide complet avec exemples pratiques
- Boucle do-while en C++ : Syntaxe, exemples pratiques et boucles imbriquées
- Maîtriser les pointeurs en C++ : Concepts, exemples et applications pratiques
- Maîtriser le type char en C++ : Déclaration, ASCII et techniques de conversion
- Surcharge d'opérateurs en C++ : Guide pratique avec exemples de code
- Les Fonctions en C++ Expliquées avec des Exemples de Code Pratiques
- Maîtriser les Collections C# : Tutoriel Pratique avec Exemples Réels
- Maîtriser str.count() de Python : Compter caractères et sous-chaînes avec exemples
- Fonction Python round() expliquée avec exemples pratiques