Maison  >  Article  >  développement back-end  >  Table de hachage C#

Table de hachage C#

WBOY
WBOYoriginal
2024-09-03 15:04:59383parcourir

Hashtable en C# est une collection de données sous forme de paires clé-valeur, qui sont basées sur le code de hachage de la clé et la clé est utilisée pour accéder aux éléments ou aux données de la collection. Il est hérité de la classe Objects vers Hashtable. Donc, fondamentalement, une table de hachage en C# ou dans n’importe quel langage de programmation est une simple représentation de paires de clés et de valeurs, correctement organisées dans un format de code de hachage.

Syntaxe :

Maintenant que nous savons ce qu'est une table de hachage C#, passons à la compréhension de la syntaxe standard pour une implémentation correcte de la table de hachage. Vous trouverez ci-dessous la syntaxe standard et les fichiers système requis pour utiliser la table de hachage dans un programme.

using System.Collections;
Hashtableht = new Hashtable();

Le fichier système, qui contient les collections, est responsable de l'importation des fonctions et méthodes requises utilisées par la table de hachage. Ensuite, la table de hachage est le mot-clé principal ici, nous avons créé une instance en tant que ht et nos opérations seront effectuées sur le ht nouvellement créé. Maintenant que nous connaissons la syntaxe appropriée pour l'implémentation d'une table de hachage, comprenons comment cela fonctionne.

Comment fonctionne Hashtable en C# ?

Comme expliqué précédemment, nous savons qu'une table de hachage est une collection de données ou d'informations sous forme de paires clé-valeur. Un exemple simple de paire clé-valeur est « Nom : Sulaksh », ici la clé est Nom et la valeur est Sulaksh, la clé reste la même tandis que les valeurs peuvent être différentes. La table de hachage se compose d'une clé et d'une valeur, qui sont représentées par des accolades et utilisent une fonction de hachage pour calculer.

Passons maintenant à la bonne implémentation de la table de hachage et comprenons le fonctionnement en exemples.

Exemples de table de hachage C#

Notre premier exemple est une implémentation simple d'une table de hachage, où nous avons une table de hachage simple, avec un nombre de clés et de valeurs et nous imprimerons le nombre total d'éléments que nous avons dans la table de hachage, le code est le suivant :

Exemple n°1

Code :

using System;
using System.Collections;
class sampleht {
static public void Main() {
Hashtableexampleht = new Hashtable();
exampleht.Add(1, " Element 1");
exampleht.Add(2, " Element 2");
exampleht.Add(3, " Element 3");
Console.WriteLine("\n The Total No. of elements: {0}", exampleht.Count);
}
}

Explication du code : Commencé avec les fichiers système, ici les collections sont les plus importantes, puis nous avons notre classe, au sein de laquelle se trouve notre méthode principale. Dans la méthode principale se trouve notre déclaration d'une table de hachage, suivie de trois paires clé-valeur. Nous avons implémenté la fonction add pour insérer les éléments. Notre table de hachage se compose donc de trois paires clé-valeur et enfin, nous avons une instruction print, qui imprimera le nombre total d'éléments que nous avons dans notre table de hachage, soit trois. Nous utilisons ici une simple fonction de comptage, reportez-vous à la capture d'écran ci-dessous pour la sortie :

Table de hachage C#

Comme prévu, le résultat nous indique que nous avons quatre éléments dans notre table de hachage. Passons maintenant à notre exemple suivant, nous allons tenter d'afficher la clé et les valeurs de la table de hachage.

Exemple n°2

Code :

using System;
using System.Collections;
class exampleHT {
static publicvoid Main() {
HashtablesampleHT = new Hashtable();
sampleHT.Add(1, " One");
sampleHT.Add(2, " Two");
sampleHT.Add(3, " Three");
Console.WriteLine("\n Below is the content of Hashtable: \n");
foreach (DictionaryEntry entry in sampleHT) {
Console.WriteLine(" {0}, {1}", entry.Key, entry.Value);
}
}
}

Explication du code : Semblable à l'exemple précédent, nous avons des fichiers système et une classe avec la méthode principale à l'intérieur. Ensuite, nous avons notre table de hachage, suivie des paires clé-valeur, puis d'une instruction print. Ensuite, nous avons notre instruction foreach, qui sélectionnera un élément à la fois et, dans la ligne suivante, l'imprimera en sortie. Notre résultat devrait être une liste d'éléments sous forme de clé et de valeurs, reportez-vous à la capture d'écran ci-dessous.

Table de hachage C#

Comme prévu, le résultat imprime les éléments de la table de hachage et maintenant, pour notre prochain exemple, nous allons implémenter la fonction clear avec outhashtable et le code est le suivant.

Exemple #3

Code :

using System;
using System.Collections;
class sampleht {
static public void Main()  {
Hashtableexampleht = new Hashtable();
exampleht.Add(1, " Element 1");
exampleht.Add(2, " Element 2");
exampleht.Add(3, " Element 3");
Console.WriteLine("\n Elements of the Hashtable :");
foreach(DictionaryEntry ele1 in exampleht) {
Console.WriteLine(ele1.Value);
}
Console.WriteLine(" No. of elements before clearing: {0} ", exampleht.Count);
exampleht.Clear();
Console.WriteLine(" Total No. of elements now: {0} ", exampleht.Count);
}
}

Explication du code : Avec nos fichiers et méthodes système requis, nous avons notre table de hachage et un total de trois paires clé-valeur définies à l'intérieur. Nous avons implémenté la fonction add pour ajouter les éléments à la table de hachage. Ensuite, nous avons notre instruction print, qui imprimera simplement tous les éléments de la table de hachage, soit trois. Avant d'effacer la table de hachage, nous avons imprimé le nombre total d'éléments présents dans la liste, puis nous avons notre fonction clear, qui effacera toute la table de hachage, ce qui signifie que chaque élément sera effacé de la liste et l'instruction d'impression finale imprimera le numéro. d'éléments présents maintenant, qui seront nuls.

Table de hachage C#

Comme expliqué, la fonction clear fait son travail, et la liste est effacée et maintenant, passons à notre prochain exemple, nous allons implémenter la fonction Remove.

Exemple n°4

Code :

using System;
using System.Collections;
class sampleht {
static public void Main() {
Hashtableexampleht = new Hashtable();
exampleht.Add(1, " Element 1");
exampleht.Add(2, " Element 2");
exampleht.Add(3, " Element 3");
Console.WriteLine("\n List of Original Elements:");
foreach (var key in exampleht.Keys )
Console.WriteLine(" {0}, {1}",key , exampleht[key]);
exampleht.Remove(3);
exampleht.Remove(1);
Console.WriteLine("\n Elements after removal:");
foreach (var key in exampleht.Keys )
Console.WriteLine(" {0}, {1}",key , exampleht[key]);
}
}

Code Explanation: Just as our earlier examples, we have our system files, class, and the main method. Then we have our hashtable with a total of three key values. Then we have our print statement, which will print out the original list along with key and values, using foreach. We then have the remove function for two keys, which will remove the keys that we pass, then we have our print statement, which will use foreach and print every single element present in the hashtable after removing.

Table de hachage C#

Advantages

Advantages of any function or methodology is important to understand its real time applications and hashtable’s most widely known advantage is how it allows the developer the ability for synchronization. Hashtable has noted advantages over the search tree and this makes them practical to use in real time computer applications and for the purpose of database indexing. Speed, compared to other table type data structures is best delivered by hashtables. Having key value pairs makes it easy to anticipate the format regarding data and restructuring is done easily.

Conclusion

Hashtable in C# is a collection of elements, represented in a key value pair format. The key can be the same, while values differ and the key cannot be null while a value can be. We implemented an example of functions like remove, clear, and print. Hashtable has a speed advantage over other data structures.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:C# en attenteArticle suivant:C# en attente