我們已經討論了哈希表的基礎知識。 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() 方法建立不同元素的雜湊表。
範例 1
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
輸出顯示了我們新增到雜湊表中的所有鍵值對。
我們再舉一個向哈希表添加元素的例子。程序如下。
範例 2
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中文網其他相關文章!

C#和.NET運行時緊密合作,賦予開發者高效、強大且跨平台的開發能力。 1)C#是一種類型安全且面向對象的編程語言,旨在與.NET框架無縫集成。 2).NET運行時管理C#代碼的執行,提供垃圾回收、類型安全等服務,確保高效和跨平台運行。

要開始C#.NET開發,你需要:1.了解C#的基礎知識和.NET框架的核心概念;2.掌握變量、數據類型、控制結構、函數和類的基本概念;3.學習C#的高級特性,如LINQ和異步編程;4.熟悉常見錯誤的調試技巧和性能優化方法。通過這些步驟,你可以逐步深入C#.NET的世界,並編寫高效的應用程序。

C#和.NET的關係是密不可分的,但它們不是一回事。 C#是一門編程語言,而.NET是一個開發平台。 C#用於編寫代碼,編譯成.NET的中間語言(IL),由.NET運行時(CLR)執行。

C#.NET依然重要,因為它提供了強大的工具和庫,支持多種應用開發。 1)C#結合.NET框架,使開發高效便捷。 2)C#的類型安全和垃圾回收機制增強了其優勢。 3).NET提供跨平台運行環境和豐富的API,提升了開發靈活性。

C#.NETisversatileforbothwebanddesktopdevelopment.1)Forweb,useASP.NETfordynamicapplications.2)Fordesktop,employWindowsFormsorWPFforrichinterfaces.3)UseXamarinforcross-platformdevelopment,enablingcodesharingacrossWindows,macOS,Linux,andmobiledevices.

C#和.NET通過不斷的更新和優化,適應了新興技術的需求。 1)C#9.0和.NET5引入了記錄類型和性能優化。 2).NETCore增強了雲原生和容器化支持。 3)ASP.NETCore與現代Web技術集成。 4)ML.NET支持機器學習和人工智能。 5)異步編程和最佳實踐提升了性能。

c#.netissutableforenterprise-levelapplications withemofrosoftecosystemdueToItsStrongTyping,richlibraries,androbustperraries,androbustperformance.however,itmaynotbeidealfoross-platement forment forment forment forvepentment offependment dovelopment toveloperment toveloperment whenrawspeedsportor whenrawspeedseedpolitical politionalitable,

C#在.NET中的編程過程包括以下步驟:1)編寫C#代碼,2)編譯為中間語言(IL),3)由.NET運行時(CLR)執行。 C#在.NET中的優勢在於其現代化語法、強大的類型系統和與.NET框架的緊密集成,適用於從桌面應用到Web服務的各種開發場景。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

記事本++7.3.1
好用且免費的程式碼編輯器

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Dreamweaver CS6
視覺化網頁開發工具