Kami telah membincangkan asas jadual hash. Koleksi jadual cincang dalam C# digunakan untuk menyimpan pasangan nilai kunci, di mana setiap pasangan nilai kunci disusun berdasarkan kod cincang kunci. Kod cincang dikira menggunakan fungsi kod cincang. Secara dalaman, jadual hash menggunakan baldi untuk menyimpan data. Baldi tidak lebih daripada satu set elemen maya dalam jadual cincang. Kod cincang dikaitkan dengan setiap baldi.
Secara pengaturcaraan, jadual cincang adalah serupa dengan objek kamus, tetapi tidak seperti objek kamus, jadual cincang boleh menyimpan objek jenis data yang berbeza. Dari segi prestasi, jadual cincang mempamerkan prestasi yang lebih rendah kerana elemen data jadual cincang ialah objek. Oleh itu, untuk menyimpan dan mendapatkan semula nilai daripada jadual hash, peninjuan dan penyahkotak objek mesti dilakukan.
Dalam artikel ini, kita akan membincangkan cara menambah item pada koleksi jadual cincang.
hashtable dalam C# dilaksanakan menggunakan kelas hashtable. Kelas ini menyediakan pelbagai kaedah untuk melaksanakan operasi yang berbeza pada jadual cincang. Salah satu kaedahnya ialah Add().
KaedahAdd() kelas jadual Hash digunakan untuk menambah elemen dengan kunci yang ditentukan dan nilai yang sepadan dalam jadual cincang. Apabila menambah pasangan nilai kunci pada jadual cincang, kami harus memastikan bahawa kunci tidak diduplikasi atau kosong kerana jadual cincang hanya membenarkan kunci tidak kosong dan unik.
Dalam koleksi jadual cincang C#, kita boleh mempunyai elemen pasangan kunci/nilai jenis data yang berbeza.
Sekarang mari kita beralih kepada kaedah Tambah().
Prototaip umum kaedah Add() bagi koleksi jadual cincang diberikan di bawah.
public virtual void Add(object key, object value);
Kunci - Kekunci yang ditentukan (jenis System.Object) bagi elemen yang sedang ditambah. Seharusnya bukan nol.
Nilai - Nilai yang ditentukan bagi elemen (jenis Sistem.Objek) Nilai ini boleh jadi nol.
ArgumentNullException − apabila kuncinya batal.
ArgumentException − Elemen dengan kunci yang sama sudah wujud.
NotSupportedException − Jadual cincang mempunyai saiz tetap atau dibaca sahaja.
Jika kita mempunyai objek jadual hash diisytiharkan seperti berikut -
Hashtable hshTable = new Hashtable();
Kita kemudian boleh menambah elemen pada objek jadual hash ini menggunakan kaedah Add() seperti yang ditunjukkan di bawah -
hshTable.Add("msg", "charVal");
Memandangkan jadual cincang membenarkan unsur jenis data bercampur, kami juga boleh menambah nilai berangka dalam jadual cincang yang sama -
hshTable.Add(1, 2022);
Selain menggunakan kaedah Tambah(), kami juga boleh terus memberikan nilai kepada jadual cincang. Sebagai contoh, untuk menambah elemen dengan kunci = 2, kita hanya boleh menulis,
hshTable[3] = "three";
Pernyataan di atas akan mencipta pasangan nilai kunci (3, "tiga") dalam jadual cincang.
Atur cara berikut menunjukkan cara membina jadual cincang elemen berbeza menggunakan kaedah Add().
using System; using System.Collections; class Program { static void Main(string[] args) { Hashtable mixedHashTable = new Hashtable(); //add method mixedHashTable.Add("msg", "Collection"); mixedHashTable.Add("site", "HashTable"); mixedHashTable.Add(1, 3.14); mixedHashTable.Add(2, null); //assign value to the key mixedHashTable[3] = "Tutorial"; // Add method throws an exception if the key already exists in //hashtable try { mixedHashTable.Add(2, 750); } catch { Console.WriteLine("Hashtable already has an element with Key = '2'."); } Console.WriteLine("*********HashTable Elements********"); // It will return elements as Key-Value Pair. foreach (DictionaryEntry elem in mixedHashTable) { Console.WriteLine("Key = {0}, Value = {1}", elem.Key, elem.Value); } Console.ReadLine(); } }
Atur cara di atas mula-mula mencipta objek jadual cincang menggunakan pembina lalai. Ia kemudian menambah elemen berbeza pada jadual cincang menggunakan kaedah Tambah(). Kami juga boleh menambah elemen pada jadual cincang dengan penugasan langsung. Program di atas menambah pasangan nilai kunci jenis data yang berbeza pada jadual cincang. Kemudian gunakan iterator untuk memaparkan elemen jadual cincang satu demi satu.
Keluaran contoh di atas kelihatan seperti ini -
Hashtable already has an element with Key = '2'. *********HashTable Elements******** Key = 2, Value = Key = msg, Value = Collection Key = 3, Value = Tutorial Key = site, Value = HashTable Key = 1, Value = 3.14
Output menunjukkan semua pasangan nilai kunci yang kami tambahkan pada jadual cincang.
Mari kita ambil satu lagi contoh menambah elemen pada jadual cincang. Prosedurnya adalah seperti berikut.
using System; using System.Collections; class hTable { // Driver code public static void Main() { // Creating a Hashtable Hashtable strHashTable = new Hashtable(); // Adding elements in Hashtable strHashTable.Add("4", "Even Number"); strHashTable.Add("9", "Odd Number"); strHashTable.Add("5", "Odd and Prime Number"); strHashTable.Add("2", "Even and Prime Number"); // Get a collection of the keys. ICollection c = strHashTable.Keys; // Displaying the hashtable contents Console.WriteLine("=========Contents of the Hashtable========="); foreach(string str in c) Console.WriteLine(str + ": " + strHashTable[str]); } }
Dalam program ini kami menambah nilai jenis rentetan. Kami menambah nilai menggunakan kaedah Add() dan kemudian mendapatkan set kunci dalam jadual cincang. Kami kemudian menggunakan gelung foreach untuk mengulangi set kunci ini dan memaparkan setiap kunci dan nilai yang sepadan.
Output yang dihasilkan adalah seperti berikut -
=========Contents of the Hashtable========= 5: Odd and Prime Number 9: Odd Number 2: Even and Prime Number 4: Even Number
Dengan cara ini, kita boleh menambah item pada koleksi jadual hash menggunakan kaedah Add() kelas jadual hash.
Dalam artikel ini kami belajar cara menambahkan item pada koleksi jadual cincang. Dalam artikel akan datang, kami akan membincangkan lebih lanjut tentang operasi Hashtable.
Atas ialah kandungan terperinci Bagaimana untuk menambah item pada koleksi jadual hash dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!