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

Ensemble de hachage C#

WBOY
WBOYoriginal
2024-09-03 15:18:47248parcourir

Une collection unique d'éléments et non dans l'ordre est appelée un HashSet en C#, qui 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 pour comparer les performances de HashSet, HashSet offre de meilleures performances par rapport lister et définir les opérations fournies par le HashSet donne des performances élevées et le nombre d'éléments détenus par l'objet est la capacité du HashSet qui augmente avec l'augmentation du nombre d'éléments.

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.

Fonctionnement du Hashset en C#

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 :

Ensemble de hachage C#

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 :

Ensemble de hachage C#

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 :

Ensemble de hachage C#

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 :

Ensemble de hachage C#

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 :

Ensemble de hachage C#

Examples of C# HashSet

Given below are the examples of C# HashSet:

Example #1

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:

Ensemble de hachage C#

Example #2

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:

Ensemble de hachage C#

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:Héritage en C#Article suivant:Héritage en C#