Heim  >  Artikel  >  Backend-Entwicklung  >  C# HashSet

C# HashSet

WBOY
WBOYOriginal
2024-09-03 15:18:47204Durchsuche

Eine eindeutige Sammlung von Elementen, die nicht in der richtigen Reihenfolge sind, wird als HashSet bezeichnet in C#, das unter dem Namensraum Systems.Collections.Generic steht und immer dann verwendet wird, wenn wir keine Duplikate in unserer Sammlung benötigen, d. h. es vermeidet das Einfügen von Duplikaten in die Sammlung und zum Vergleich der Leistung von HashSet bietet HashSet im Vergleich eine bessere Leistung Das Auflisten und Festlegen der vom HashSet bereitgestellten Operationen bietet eine hohe Leistung und die Anzahl der vom Objekt gehaltenen Elemente ist die Kapazität des HashSet, die mit zunehmender Anzahl der Elemente zunimmt.

Syntax von HashSet in C#

HashSet<Type_of_hashset> Hashset_name = new HashSet<Type_of_hashset>();

Die obige Syntax stellt HashSet in C# dar. Der Typ des Hashsets kann auch durch den Großbuchstaben T dargestellt werden.

Funktionsweise von Hashset in C#

Hashset in C# ist eine einzigartige Sammlung von Elementen ohne Reihenfolge. Es gehört zum Namensraum Systems.Collections.Generic und wird immer dann verwendet, wenn wir keine Duplikate in unserer Sammlung benötigen, d. h. es vermeidet das Einfügen von Duplikaten in die Sammlung und vergleicht die Leistung von HashSet. HashSet bietet eine bessere Leistung im Vergleich zu Listensatzoperationen, die von HashSet bereitgestellt werden, und bietet eine hohe Leistung. Um die Funktionsweise von Hashset zu verstehen, beginnen wir mit der Erstellung eines einfachen Hashset-Programms in 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();
}
}
}

Im obigen Programm wird ein einfaches Hashset vom Typ Strings erstellt. Die Zeichenfolgen Shobha, Shivakumar und Shardha werden dem erstellten Hashset vom Typ Zeichenfolgen hinzugefügt. Die Ausgabe des obigen Programms ist im Schnappschuss unten dargestellt:

C# HashSet

Wie bereits erläutert, lässt das Hashset nicht zu, dass doppelte Elemente zur Sammlung hinzugefügt werden. Versuchen wir, dem oben erstellten Hashset vom Typ „Strings“ ein doppeltes Element hinzuzufügen und die Ausgabe des Programms zu verstehen. Dann können wir die Methode „add“ verwenden, um die Elemente zur Sammlung hinzuzufügen.

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();
}
}
}

Im obigen Programm wird ein einfaches Hashset vom Typ Strings erstellt. Anschließend werden die Zeichenfolgen Shobha, Shivakumar und Shardha zum erstellten Hashset vom Typ Zeichenfolgen hinzugefügt. Wenn wir versuchen, mit der Add-Methode eine doppelte Zeichenfolge Shobha zum erstellten Hashset hinzuzufügen, wird kein Fehler angezeigt, aber die doppelte Zeichenfolge wird nicht hinzugefügt, und das Gleiche ist in der Ausgabe zu sehen. Die Ausgabe des obigen Programms ist im Schnappschuss unten dargestellt:

C# HashSet

Es gibt eine Methode namens Union mit einer Methode, die im Hashset in C# vorhanden ist. Es wird verwendet, um die in zwei Sammlungen vorhandenen Elemente zu einer einzigen Sammlung zusammenzufassen, für die es aufgerufen wird. Betrachten Sie das folgende Programm.

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();
}
}
}

Im obigen Programm werden zwei einfache Hashsets vom Typ String erstellt. Zunächst werden die Zeichenfolgen Shobha, Shivakumar und Shardha zum ersten Hashset vom Typ Zeichenfolgen hinzugefügt. Anschließend werden die Zeichenfolgen Shobha, Shivakumar, Shardha, Ravi und Nagu zum zweiten Hashset vom Typ Zeichenfolgen hinzugefügt. Jetzt nutzen wir die Union mit der Methode is hashset, um die Elemente des ersten Hashsets und des zweiten Hashsets zu kombinieren. Die Ausgabe des obigen Programms ist im Schnappschuss unten dargestellt:

C# HashSet

Es gibt eine Methode namens „Intersect“ mit der im Hashset in C# vorhandenen Methode. Es wird verwendet, um die in den beiden Sammlungen vorhandenen gemeinsamen Elemente in einer einzigen Sammlung zusammenzufassen, auf die es aufgerufen wird. Betrachten Sie das folgende Programm.

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();
}
}
}

Im obigen Programm werden zwei einfache Hashsets vom Typ String erstellt. Zunächst werden die Zeichenfolgen Shobha, Shivakumar und Shardha zum ersten Hashset vom Typ Zeichenfolgen hinzugefügt. Als nächstes werden die Zeichenfolgen Shobha, Shivakumar, Shardha, Ravi und Nagu zum zweiten Hashset vom Typ Zeichenfolgen hinzugefügt. Jetzt verwenden wir das Überschneiden mit der Methode is hashset, um die gemeinsamen Elemente sowohl im ersten Hashset als auch im zweiten Hashset zu kombinieren. Die Ausgabe des obigen Programms ist im Schnappschuss unten dargestellt:

C# HashSet

Es gibt eine Methode namens „Except“, deren Methode im Hashset in C# vorhanden ist. Es wird verwendet, um alle Elemente zu entfernen, die in allen beiden Sammlungen vorhanden sind, mit Ausnahme der Sammlung, für die es aufgerufen wird. Betrachten Sie das folgende Programm.

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();
}
}
}

Im obigen Programm werden zwei einfache Hashsets vom Typ String erstellt. Zunächst werden die Zeichenfolgen Shobha, Shivakumar und Shardha zum ersten Hashset vom Typ Zeichenfolgen hinzugefügt. Als nächstes werden die Zeichenfolgen Shobha, Shivakumar, Shardha, Ravi und Nagu zum zweiten Hashset vom Typ Zeichenfolgen hinzugefügt. Jetzt verwenden wir Except mit der Methode in hashset, um alle Elemente zu entfernen, die in allen Sammlungen vorhanden sind, mit Ausnahme der Sammlung, für die sie aufgerufen wird.  Die Ausgabe des obigen Programms ist im Schnappschuss unten dargestellt:

C# HashSet

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:

C# HashSet

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:

C# HashSet

Das obige ist der detaillierte Inhalt vonC# HashSet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Vererbung in C#Nächster Artikel:Vererbung in C#