Maison > Article > développement back-end > Ensemble de hachage C#
Une collection unique d'éléments et non dans l'ordre est appelée un HashSet
Syntaxe de HashSet en C#
HashSet<Type_of_hashset> Hashset_name = new HashSet<Type_of_hashset>();
La syntaxe ci-dessus représente HashSet en C#. Le type de hashset peut également être représenté par la lettre majuscule T.
Hashset en C# est une collection unique d'éléments sans aucun ordre. Il relève de l'espace de noms Systems.Collections.Generic et est utilisé chaque fois que nous n'avons pas besoin de doublons dans notre collection, c'est-à-dire qu'il évite l'insertion de doublons dans la collection et compare les performances de HashSet. HashSet offre de meilleures performances par rapport aux opérations d'ensemble de listes fournies par HashSet et donne des performances élevées. Afin de comprendre le fonctionnement du hashset, commençons par créer un simple programme de hashset en C#.
Code :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HashSet { class Programcheck { static void Main(string[] args) { HashSet < string > nameslist = new HashSet < string > { "Shobha", "Shivakumar", "Shardha" }; foreach(var nam in nameslist) { Console.WriteLine(nam); } Console.ReadKey(); } } }
Dans le programme ci-dessus, un simple hashset de chaînes de type est créé. Les chaînes Shobha, Shivakumar et Shardha sont ajoutées au hashset créé de chaînes de type. Le résultat du programme ci-dessus est affiché dans l'instantané ci-dessous :
Comme déjà expliqué, le hashset ne permet pas d'ajouter des éléments en double dans la collection. Essayons d'ajouter un élément en double au hashset de chaînes de type créé ci-dessus et de comprendre la sortie du programme. Ensuite, nous pouvons utiliser add une méthode pour ajouter les éléments dans la collection.
Code :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HashSet { class Programcheck { static void Main(string[] args) { HashSet < string > nameslist = new HashSet < string > { "Shobha", "Shivakumar", "Shardha" }; nameslist.Add("Shobha"); //collection cannot contain duplicate elements. foreach(var nam in nameslist) { Console.WriteLine(nam); } Console.ReadKey(); } } }
Dans le programme ci-dessus, un simple hashset de chaînes de type est créé. Ensuite, les chaînes Shobha, Shivakumar et Shardha sont ajoutées au hashset créé de chaînes de type. Si nous essayons d'ajouter une chaîne en double Shobha au hashset créé à l'aide de la méthode add, aucune erreur n'est affichée, mais la chaîne en double n'est pas ajoutée, et la même chose peut être vue dans la sortie. Le résultat du programme ci-dessus est affiché dans l'instantané ci-dessous :
Il existe une méthode appelée Union avec une méthode présente dans le hashset en C#. Il permet de regrouper les éléments présents dans deux collections en une seule collection sur laquelle il est appelé. Considérez le programme ci-dessous.
Code :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HashSet { class Programcheck { static void Main(string[] args) { HashSet < string > nameslist = new HashSet < string > { "Shobha", "Shivakumar", "Shardha" }; HashSet < string > nameslist1 = new HashSet < string > { "Shobha", "Shivakumar", "Shardha", "Ravi", "Nagu" }; nameslist.UnionWith(nameslist1); foreach(var nam in nameslist) { Console.WriteLine(nam); } Console.ReadKey(); } } }
Dans le programme ci-dessus, deux jeux de hachage simples de chaînes de type sont créés. Tout d’abord, les chaînes Shobha, Shivakumar et Shardha sont ajoutées au premier hashset de chaînes de type. Ensuite, les chaînes Shobha, Shivakumar, Shardha, Ravi et Nagu sont ajoutées au deuxième hashset de chaînes de type. Nous utilisons maintenant l'union avec la méthode is hashset pour combiner les éléments du premier hashset et du deuxième hashset. Le résultat du programme ci-dessus est affiché dans l'instantané ci-dessous :
Il existe une méthode appelée Intersect avec la méthode présente dans hashset en C#. Il permet de regrouper les éléments présents en commun dans les deux collections en une seule collection sur laquelle il est appelé. Considérez le programme ci-dessous.
Code :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HashSet { class Programcheck { static void Main(string[] args) { HashSet < string > nameslist = new HashSet < string > { "Shobha", "Shivakumar", "Shardha" }; HashSet < string > nameslist1 = new HashSet < string > { "Shobha", "Shivakumar", "Shardha", "Ravi", "Nagu" }; nameslist.IntersectWith(nameslist1); foreach(var nam in nameslist) { Console.WriteLine(nam); } Console.ReadKey(); } } }
Dans le programme ci-dessus, deux jeux de hachage simples de chaînes de type sont créés. Tout d’abord, les chaînes Shobha, Shivakumar et Shardha sont ajoutées au premier hashset de chaînes de type. Ensuite, les chaînes Shobha, Shivakumar, Shardha, Ravi et Nagu sont ajoutées au deuxième hashset de chaînes de type. Nous utilisons maintenant l'intersection avec la méthode is hashset pour combiner les éléments communs du premier hashset et du deuxième hashset. Le résultat du programme ci-dessus est affiché dans l'instantané ci-dessous :
Il existe une méthode appelée Sauf avec la méthode présente dans le hashset en C#. Il permet de supprimer tous les éléments présents dans les deux collections sauf la collection sur laquelle il est appelé. Considérez le programme ci-dessous.
Code :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HashSet { class Programcheck { static void Main(string[] args) { HashSet < string > nameslist = new HashSet < string > { "Shobha", "Shivakumar", "Shardha" }; HashSet < string > nameslist1 = new HashSet < string > { "Shobha", "Shivakumar", "Shardha", "Ravi", "Nagu" }; nameslist1.ExceptWith(nameslist); foreach(var nam in nameslist1) { Console.WriteLine(nam); } Console.ReadKey(); } } }
Dans le programme ci-dessus, deux jeux de hachage simples de chaînes de type sont créés. Tout d’abord, les chaînes Shobha, Shivakumar et Shardha sont ajoutées au premier hashset de chaînes de type. Ensuite, les chaînes Shobha, Shivakumar, Shardha, Ravi et Nagu sont ajoutées au deuxième hashset de chaînes de type. Nous utilisons maintenant Except avec la méthode en hashset pour supprimer tous les éléments présents dans toutes les collections sauf la collection sur laquelle elle est appelée. Le résultat du programme ci-dessus est affiché dans l'instantané ci-dessous :
Given below are the examples of C# HashSet:
C# program to illustrate the creation of a hashset and adding elements to the hashset.
Code:
using System; using System.Collections.Generic; class Hashset { // Calling the main method public static void Main() { // An hashset of even numbers is created HashSet<int> even = new HashSet<int>(); // Adding the elements in to the hashset for (int i = 0; i < 5; i++) { even.Add(2 * i); } // Printing the elements in the hashset foreach(int j in even) { Console.WriteLine(j); } } }
Output:
C# program to illustrate contains method in a hashset.
Code:
using System; using System.Collections.Generic; class hashset { // Calling the main method public static void Main() { // An hashset consisting of strings is created HashSet<string> cl = new HashSet<string>(); // Elements are inserted into the hashset cl.Add("Shobha"); cl.Add("Shivakumar"); cl.Add("Shardha"); cl.Add("Ravi"); // Using the contains method to check if an element is present in the collection if (cl.Contains("Shobha")) Console.WriteLine("The element specified is present"); else Console.WriteLine("The element specified is not present"); } }
Output:
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!