Rumah > Artikel > pembangunan bahagian belakang > C# HashSet
Himpunan elemen unik dan tidak mengikut susunan dipanggil HashSet
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.
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:
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:
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:
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:
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:
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:
Atas ialah kandungan terperinci C# HashSet. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!