Hashtable en C# est une collection de paires clé-valeur organisées en fonction de codes de hachage clés. Les éléments d'une table de hachage sont accessibles à l'aide de clés. La classe Hashtable de C# est une classe qui implémente hashtable.
En utilisant cette classe, nous pouvons créer un nouvel objet de table de hachage à l'aide du constructeur fourni. La classe Hashtable fournit également diverses méthodes permettant d'effectuer diverses opérations sur la table de hachage. Ces opérations incluent l'ajout d'un élément, la vérification si une clé spécifiée existe, le comptage du nombre d'éléments, la suppression d'éléments d'une table de hachage, etc.
Dans cet article, nous discuterons de la suppression d'un élément d'une collection de tables de hachage à l'aide d'une clé spécifiée.
Hashtable fournit une méthode appelée "Remove" pour supprimer un élément de la collection de tables de hachage. Étant donné une clé, la méthode Remove supprimera l'élément avec la clé spécifiée de la table de hachage.
Le prototype de la méthode Remove est donné ci-dessous.
public virtual void Remove (object key);
Clé − La clé de l'élément à supprimer de la collection de tables de hachage. Il s'agit de type System.Object.
Remove(Object) fait partie de l'interface IDictionary.
ArgumentNullException −Cette exception est levée si la clé spécifiée est nulle.
NotSupportedException − Levée si la table de hachage a une taille fixe ou est en lecture seule.
Si la clé spécifiée n'existe pas dans la table de hachage, la méthode Remove() ne lèvera aucune exception. Si la clé n'existe pas, la table de hachage restera inchangée et le programme s'exécutera avec succès.
Le programme suivant montre comment utiliser la méthode Remove() pour supprimer un élément d'une collection de tables de hachage.
using System; using System.Collections; class MyHashTable { public static void Main(){ // Creating a Hashtable Hashtable numberNames = new Hashtable(); // Adding elements in Hashtable numberNames.Add("2", "Two"); numberNames.Add("13", "Thirteen"); numberNames.Add("24", "Twenty Four"); numberNames.Add("59", "Fifty Nine"); // Print the contents of Hashtable Console.WriteLine("**********Contents of Hashtable**********"); foreach(var item in numberNames.Keys){ Console.WriteLine("key ={0}, Value = {1}", item,numberNames[item]); } //read the key for which element is to be deleted Console.WriteLine("Enter the key for which the element is to be removed from Hashtable "); string key = (string)Console.ReadLine(); //remove the element numberNames.Remove(key); //display the hashtable after deletion Console.WriteLine("******Contents of Hashtable(after deletion)******"); foreach(var item in numberNames.Keys){ Console.WriteLine("key ={0}, Value = {1}", item,numberNames[item]); } } }
Dans ce programme, nous créons d'abord une table de hachage où les clés sont des nombres et les valeurs sont les noms numériques correspondants. La table de hachage est alors affichée à l'écran. Ensuite, l'utilisateur est invité à indiquer la clé de l'élément à supprimer de la table de hachage. Une fois la clé saisie, la méthode Remove() est appelée, en passant la clé en paramètre. Affichez ensuite à nouveau le contenu de la table de hachage. Si la clé existe dans la table de hachage, la méthode Remove() supprimera l'élément, sinon la table de hachage restera inchangée.
Le programme génère le résultat suivant.
**********Contents of Hashtable********** key =59, Value = Fifty Nine key =24, Value = Twenty Four key =13, Value = Thirteen key =2, Value = Two Enter the key for which the element is to be removed from Hashtable 13 ******Contents of Hashtable(after deletion)****** key =59, Value = Fifty Nine key =24, Value = Twenty Four key =2, Value = Two
Le résultat ci-dessus montre la différence dans le contenu de la table de hachage avant et après la suppression.
Voyons maintenant comment le résultat change lorsque l'utilisateur saisit une clé qui n'existe pas dans la table de hachage. Dans ce cas, comme déjà mentionné, la table de hachage reste inchangée et aucune exception n'est levée. Ce qui suit est la sortie générée par le programme ci-dessus.
**********Contents of Hashtable********** key =59, Value = Fifty Nine key =24, Value = Twenty Four key =13, Value = Thirteen key =2, Value = Two Enter the key for which the element is to be removed from Hashtable 3 ******Contents of Hashtable(after deletion)****** key =59, Value = Fifty Nine key =24, Value = Twenty Four key =13, Value = Thirteen key =2, Value = Two
Ici, l'utilisateur a saisi key = 3, mais elle n'existe pas dans la table de hachage. Dans ce cas, puisque la méthode Remove() ne supprime aucun élément, la table de hachage reste inchangée.
Considérons maintenant un autre exemple de suppression de table de hachage. La procédure correspondante est indiquée ci-dessous.
using System; using System.Collections; public class myHashtable{ public static void Main(){ // Create a new Hashtable. var tongueTwister = new Hashtable(); tongueTwister.Add("1a", "She"); tongueTwister.Add("1b", "sells"); tongueTwister.Add("1c", "sea"); tongueTwister.Add("2a", "shells"); tongueTwister.Add("2b", "on"); tongueTwister.Add("2c", "the"); tongueTwister.Add("3a", "sea"); tongueTwister.Add("3b", "shore"); // Displays the Hashtable. Console.WriteLine("The Hashtable initially contains the following:"); foreach (DictionaryEntry elem in tongueTwister) Console.WriteLine($" {elem.Key}: {elem.Value}"); Console.WriteLine(); // Removes the element with the specified key. string key = “3b”; tongueTwister.Remove(key); // Displays the Hashtable after deletion. Console.WriteLine("Hashtable after removing the key = "{0}":",key); foreach (DictionaryEntry elem in tonguetwister) Console.WriteLine($" {elem.Key}: {elem.Value}"); Console.WriteLine(); } }
Dans ce programme nous avons une table de hachage contenant le virelangue "Elle vend des coquillages au bord de la mer". On numérote les clés 1a, 1b, 1c, 2a, 2b, etc. Tout d’abord, nous affichons l’intégralité de la table de hachage. Ensuite, nous utilisons la méthode Remove() et supprimons l'élément avec key = 3b. La table de hachage nouvellement mise à jour s'affiche à nouveau.
Le programme génère le résultat suivant.
The Hashtable initially contains the following: 3b: shore 1a: She 1b: sells 2b: on 2c: the 3a: sea 2a: shells 1c: sea Hashtable after removing the key = "3b": 1a: She 1b: sells 2b: on 2c: the 3a: sea 2a: shells 1c: sea Note the hashtable after deleting the key = 3b.
Remove() de la classe Hashtable est utilisée pour supprimer ou supprimer des éléments de la table de hachage un par un. La méthode Remove() ne lève pas d'exception si la clé spécifiée (paramètre de la méthode) n'existe pas dans la table de hachage. Il continuera à exécuter le programme sans modifier la table de hachage.
Il s’agit de la méthode Remove(), qui est utilisée pour supprimer un élément d’une collection de tables de hachage en fonction d’une clé spécifiée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!