我們已經討論了哈希表的基礎知識。 C# 中的雜湊表集合用於儲存鍵值對,其中每個鍵值對都是根據鍵的雜湊碼進行組織的。該雜湊碼是使用雜湊碼函數計算的。在內部,哈希表使用桶來儲存資料。儲存桶只不過是哈希表中的一組虛擬元素。哈希碼與每個儲存桶相關聯。
從程式設計上來說,雜湊表類似於字典對象,但與字典對像不同的是,雜湊表可以儲存不同資料類型的對象。在性能方面,哈希表表現出較低的性能,因為哈希表的資料元素是物件。因此,為了從雜湊表中儲存和檢索值,必須執行物件的裝箱和拆箱。
在本文中,我們將討論如何在雜湊表集合中新增項目。
C#中的hashtable集合是使用hashtable類別實現的。此類提供了各種方法來對哈希表執行不同的操作。其中一個方法是 Add()。
哈希表類別的Add()方法用於在雜湊表中新增具有指定鍵及其對應值的元素。當哈希表新增鍵值對時,我們應該確保鍵不重複或為空,因為雜湊表只允許非空且唯一的鍵。
在C#的雜湊表集合中,我們可以擁有不同資料類型的鍵/值對元素。
現在讓我們繼續討論 Add() 方法。
下面給出了哈希表集合的Add()方法的一般原型。
public virtual void Add(object key, object value);
Key - 正在新增的元素的指定鍵(類型 System.Object)。應為非空。
Value - 元素的指定值(型別 System.Object)此值可以為 null。
ArgumentNullException − 當鍵為 null 時。
ArgumentException − 具有相同鍵的元素已存在。
NotSupportedException − 雜湊表具有固定大小或唯讀。
如果我們有一個哈希表物件宣告如下 -
Hashtable hshTable = new Hashtable();
然後我們可以使用 Add() 方法向該哈希表物件添加一個元素,如下所示 -
hshTable.Add("msg", "charVal");
由於雜湊表允許混合資料類型的元素,因此我們也可以在同一個雜湊表中新增數值 -
hshTable.Add(1, 2022);
除了使用 Add() 方法,我們也可以直接將值指派給雜湊表。例如,要新增 key = 2 的元素,我們可以簡單地編寫,
hshTable[3] = "three";
上述語句將在雜湊表中建立一個鍵值對(3,「三」)。
以下程式示範如何使用 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(); } }
上面的程式首先使用預設建構函式建立一個雜湊表物件。然後它使用 Add() 方法將不同的元素加入到哈希表中。我們也可以透過直接賦值來將元素新增到雜湊表中。上面的程式將不同資料類型的鍵值對加入到哈希表中。然後使用迭代器,將哈希表的元素一一顯示出來。
上述範例的輸出如下所示 -
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
輸出顯示了我們新增到雜湊表中的所有鍵值對。
我們再舉一個向哈希表添加元素的例子。程序如下。
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]); } }
在此程式中,我們會新增字串類型的值。我們使用 Add() 方法新增值,然後檢索雜湊表中的鍵集合。然後,我們使用 foreach 循環遍歷此鍵集合並顯示每個鍵及其對應的值。
產生的輸出如下 -
=========Contents of the Hashtable========= 5: Odd and Prime Number 9: Odd Number 2: Even and Prime Number 4: Even Number
透過這種方式,我們可以使用 hashtable 類別的 Add() 方法將項目新增到 hashtable 集合中。
我們在本文中了解如何將項目新增到雜湊表集合中。在以後的文章中,我們將討論更多關於 Hashtable 的操作。
以上是如何在 C# 中向哈希表集合新增項目的詳細內容。更多資訊請關注PHP中文網其他相關文章!