Rumah  >  Artikel  >  pembangunan bahagian belakang  >  C# HashSet

C# HashSet

WBOY
WBOYasal
2024-09-03 15:18:47259semak imbas

Himpunan elemen unik dan tidak mengikut susunan dipanggil HashSet dalam C#, yang terdapat di bawah ruang nama Systems.Collections.Generic dan digunakan pada bila-bila masa kami tidak memerlukan sebarang pendua dalam koleksi kami, iaitu, ia mengelakkan pemasukan pendua ke dalam koleksi dan untuk membandingkan prestasi HashSet, HashSet memberikan prestasi yang lebih baik berbanding untuk menyenaraikan dan menetapkan operasi yang disediakan oleh HashSet memberikan prestasi tinggi dan bilangan elemen yang dipegang oleh objek adalah kapasiti HashSet yang meningkat dengan peningkatan dalam bilangan elemen.

Sintaks HashSet dalam C#

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

Sintaks di atas mewakili HashSet dalam C#. Jenis set cincang juga boleh diwakili oleh huruf besar T.

Menggunakan Hashset dalam C#

Hashset dalam C# ialah koleksi unik elemen tanpa sebarang susunan. Ia berada di bawah ruang nama Systems.Collections.Generic dan digunakan pada bila-bila masa kami tidak memerlukan sebarang pendua dalam koleksi kami, iaitu, ia mengelakkan pemasukan pendua ke dalam koleksi dan membandingkan prestasi HashSet. HashSet memberikan prestasi yang lebih baik berbanding dengan operasi set senarai yang disediakan oleh HashSet memberikan prestasi tinggi. Untuk memahami cara kerja set cincang, mari mulakan dengan mencipta program set cincang mudah dalam C#.

Kod:

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

Dalam program di atas, set cincang rentetan jenis mudah dibuat. Rentetan Shobha, Shivakumar dan Shardha ditambahkan pada set cincang rentetan jenis yang dicipta. Output program di atas ditunjukkan dalam petikan di bawah:

C# HashSet

Seperti yang telah dijelaskan, set cincang tidak membenarkan elemen pendua ditambahkan dalam koleksi. Mari kita cuba menambah elemen pendua pada set cincang rentetan jenis yang dibuat di atas dan fahami output program. Kemudian, kita boleh menggunakan kaedah tambah untuk menambah elemen ke dalam koleksi.

Kod:

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

Dalam program di atas, set cincang rentetan jenis mudah dibuat. Kemudian, rentetan Shobha, Shivakumar dan Shardha ditambahkan pada set cincang rentetan jenis yang dibuat. Jika kita cuba menambah rentetan pendua Shobha pada set cincang yang dibuat menggunakan kaedah tambah, tiada ralat ditunjukkan, tetapi ia tidak menambah rentetan pendua, dan perkara yang sama boleh dilihat dalam output. Output program di atas ditunjukkan dalam petikan di bawah:

C# HashSet

Terdapat kaedah yang dipanggil Union dengan kaedah yang terdapat dalam hashset dalam C#. Ia digunakan untuk menggabungkan unsur-unsur yang terdapat dalam dua koleksi ke dalam satu koleksi yang mana ia dipanggil. Pertimbangkan program di bawah.

Kod:

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

Dalam program di atas, dua set cincang rentetan jenis mudah dicipta. Pertama, rentetan Shobha, Shivakumar dan Shardha ditambahkan pada set cincang rentetan jenis pertama. Kemudian, rentetan Shobha, Shivakumar, Shardha, Ravi dan Nagu ditambahkan pada set cincang rentetan jenis kedua. Sekarang kita menggunakan kesatuan dengan kaedah adalah set cincang untuk menggabungkan elemen kedua-dua set cincang pertama dan set cincang kedua. Output program di atas ditunjukkan dalam petikan di bawah:

C# HashSet

Terdapat kaedah yang dipanggil Intersect dengan kaedah yang terdapat dalam hashset dalam C#. Ia digunakan untuk menggabungkan unsur-unsur yang terdapat bersama dalam dua koleksi ke dalam satu koleksi yang dipanggil. Pertimbangkan program di bawah.

Kod:

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

Dalam program di atas, dua set cincang rentetan jenis mudah dicipta. Pertama, rentetan Shobha, Shivakumar dan Shardha ditambahkan pada set cincang rentetan jenis pertama. Seterusnya, rentetan Shobha, Shivakumar, Shardha, Ravi dan Nagu ditambahkan pada set cincang rentetan jenis kedua. Sekarang kita menggunakan bersilang dengan kaedah adalah set cincang untuk menggabungkan elemen biasa dalam kedua-dua set cincang pertama dan set cincang kedua. Output program di atas ditunjukkan dalam petikan di bawah:

C# HashSet

Terdapat kaedah yang dipanggil Kecuali dengan kaedah yang terdapat dalam hashset dalam C#. Ia digunakan untuk mengalih keluar semua elemen yang terdapat dalam semua dua koleksi kecuali koleksi yang dipanggil. Pertimbangkan program di bawah.

Kod:

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

Dalam program di atas, dua set cincang rentetan jenis mudah dicipta. Pertama, rentetan Shobha, Shivakumar dan Shardha ditambahkan pada set cincang rentetan jenis pertama. Seterusnya, rentetan Shobha, Shivakumar, Shardha, Ravi dan Nagu ditambahkan pada set cincang rentetan jenis kedua. Sekarang kita menggunakan Except dengan kaedah dalam set cincang untuk mengalih keluar semua elemen yang terdapat dalam semua koleksi kecuali koleksi yang dipanggil.  Output program di atas ditunjukkan dalam petikan di bawah:

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

Atas ialah kandungan terperinci C# HashSet. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Warisan dalam C#Artikel seterusnya:Warisan dalam C#