C#中的Hashtable?類使用詳解
一:Hashtable 類簡(jiǎn)單說(shuō)明
1)表示根據(jù)鍵的哈希代碼進(jìn)行組織的鍵/值對(duì)的集合。使用哈希代碼生成的哈希值,是唯一地標(biāo)識(shí)數(shù)據(jù)的固定長(zhǎng)度的數(shù)字值。
2)HashTable是System.Collections命名空間提供的一個(gè)容器,用于處理和表現(xiàn)類似keyvalue的鍵值對(duì),其中key通常用來(lái)快速查找,key區(qū)分大小寫;value用于存儲(chǔ)對(duì)應(yīng)key值。Hashtable中keyvalue鍵值對(duì)均為object類型,所以Hashtable可以支持任何類型的keyvalue鍵值對(duì).
二:Hashtable 類的構(gòu)造函數(shù)
三:Hashtable 類的屬性
構(gòu)造函數(shù) | 構(gòu)造函數(shù)說(shuō)明 |
---|---|
Count | 獲取包含在 Hashtable 中的鍵/值對(duì)的數(shù)目。 |
EqualityComparer | 獲取要用于 IEqualityComparer 的 Hashtable。 |
IsFixedSize | 獲取一個(gè)值,該值指示 Hashtable 是否具有固定大小。 |
Item[Object] | 獲取或設(shè)置與指定的鍵關(guān)聯(lián)的值。 |
Keys | 獲取包含 ICollection 中的鍵的 Hashtable。 |
Values | 獲取一個(gè) ICollection,它包含 Hashtable 中的值。 |
四:Hashtable 類的常用方法
1: Hashtable.Add(Object, Object) 的方法介紹
- 1)作用:將帶有指定鍵和值的元素添加到 Hashtable 中。
- 2)語(yǔ)法:
public virtual void Add (object key, object value);
3)使用舉例:
// 創(chuàng)建并初始化新的哈希表. var myHT = new Hashtable(); myHT.Add("one", "The"); myHT.Add("two", "quick"); myHT.Add("three", "brown"); myHT.Add("four", "fox"); // 顯示哈希表. Console.WriteLine("哈希表包含以下內(nèi)容:"); Console.WriteLine("\t-KEY-\t-VALUE-"); foreach (DictionaryEntry de in myHT) { Console.WriteLine($"\t{de.Key}:\t{de.Value}"); }
4)運(yùn)行結(jié)果:
哈希表包含以下內(nèi)容:
-KEY- -VALUE-
three: brown
one: The
two: quick
four: fox
2: Hashtable.Clone ()的方法介紹
- 1)作用:創(chuàng)建 Hashtable 的淺表副本
- 2)語(yǔ)法:
public virtual object Clone ();
3)使用舉例:
// 創(chuàng)建并初始化新的哈希表. var myHT = new Hashtable(); myHT.Add(1, "Freedom"); myHT.Add(2, "Justice"); myHT.Add(3, "destiny"); myHT.Add(4, "GUNDAM"); // 克隆新的哈希表. var myHT2 = (Hashtable)myHT.Clone(); // 顯示克隆的哈希表. Console.WriteLine("哈希表包含以下內(nèi)容:"); Console.WriteLine("\t-KEY-\t-VALUE-"); foreach (DictionaryEntry de in myHT2) { Console.WriteLine($"\t{de.Key}:\t{de.Value}"); }
4)運(yùn)行結(jié)果:
哈希表包含以下內(nèi)容:
-KEY- -VALUE-
4: GUNDAM
3: destiny
2: Justice
4: Freedom
3: Hashtable.ContainsKey(Object)和ContainsValue(Object)的方法介紹
- 1)作用:確定 Hashtable 是否包含特定鍵或者特定值。
- 2)語(yǔ)法:
public virtual bool ContainsKey (object key); public virtual bool ContainsValue (object value);
3)使用舉例:
// 創(chuàng)建并初始化新的哈希表. var myHT = new Hashtable(); myHT.Add(1, "Freedom"); myHT.Add(2, "Justice"); myHT.Add(3, "destiny"); myHT.Add(4, "GUNDAM"); Console.WriteLine("The key \"{0}\" is {1}.", 3, myHT.ContainsKey(3) ? "在哈希表中" : "不在在哈希表中"); Console.WriteLine("The key \"{0}\" is {1}.", 6, myHT.ContainsKey(6) ? "在哈希表中" : "不在在哈希表中"); Console.WriteLine("The value \"{0}\" is {1}.", "Freedom", myHT.ContainsValue("Freedom") ? "在哈希表中" : "不在在哈希表中"); Console.WriteLine("The value \"{0}\" is {1}.", "GUNDAM", myHT.ContainsValue("GUNDAM") ? "在哈希表中" : "不在在哈希表中");
4)運(yùn)行結(jié)果:
The key "3" is 在哈希表中.
The key "6" is 不在在哈希表中.-
The value "Freedom" is 在哈希表中.
The value "GUNDAM" is 在哈希表中.
4:Hashtable.Remove(Object)的方法介紹
- 1)作用:確定 Hashtable 是否包含特定鍵或者特定值。
- 2)語(yǔ)法:
public virtual void Remove (object key);
3)使用舉例:
// 創(chuàng)建并初始化新的哈希表. var myHT = new Hashtable(); myHT.Add(1, "Freedom"); myHT.Add(2, "Justice"); myHT.Add(3, "destiny"); myHT.Add(4, "GUNDAM"); myHT.Remove(4);//移除指定鍵的元素 foreach (DictionaryEntry de in myHT) { Console.WriteLine($"\t{de.Key}:\t{de.Value}"); }
4)運(yùn)行結(jié)果:
3: destiny
2: Justice
1: Freedom
到此這篇關(guān)于C#中的Hashtable 類使用詳解的文章就介紹到這了,更多相關(guān)C# Hashtable 類 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何利用C#正則表達(dá)式判斷是否是有效的文件及文件夾路徑
項(xiàng)目中少不了讀取或設(shè)置文件路徑的功能,如何才能對(duì)輸入的路徑是否合法進(jìn)行判斷呢?下面這篇文章主要給大家介紹了關(guān)于C#利用正則表達(dá)式判斷是否是有效的文件及文件夾路徑的相關(guān)資料,需要的朋友可以參考下2022-04-04Unity接入百度AI實(shí)現(xiàn)貨幣識(shí)別
本文主要介紹了在Unity中接入百度AI,從而實(shí)現(xiàn)貨幣識(shí)別,可以返回貨幣的名稱、代碼、面值、年份信息等,感興趣的可以跟隨小編學(xué)習(xí)一下2022-01-01C#?CefSharp?根據(jù)輸入日期段自動(dòng)選擇日期的操作代碼
這篇文章主要介紹了C#?CefSharp?根據(jù)輸入日期段自動(dòng)選擇日期的操作代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01Unity實(shí)現(xiàn)滑動(dòng)更換界面效果
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)滑動(dòng)更換界面效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07C#并行編程之?dāng)?shù)據(jù)并行Tasks.Parallel類
這篇文章介紹了C#并行編程之?dāng)?shù)據(jù)并行Tasks.Parallel類,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05C#讀取XML的CDATA節(jié)點(diǎn)內(nèi)容實(shí)例詳解
在本篇文章里小編給大家整理了關(guān)于C# 讀取XML的CDATA節(jié)點(diǎn)內(nèi)容的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們參考學(xué)習(xí)下。2019-09-09C#結(jié)合JavaScript對(duì)Web控件進(jìn)行數(shù)據(jù)輸入驗(yàn)證的實(shí)現(xiàn)方法
在 Web 應(yīng)用的錄入界面,數(shù)據(jù)驗(yàn)證是一項(xiàng)重要的實(shí)現(xiàn)功能,數(shù)據(jù)驗(yàn)證是指確認(rèn) Web 控件輸入或選擇的數(shù)據(jù),本文我們將介紹如何通過(guò)C# 后端及JavaScript 前端對(duì) Web 控件進(jìn)行數(shù)據(jù)輸入有效性的驗(yàn)證,感興趣的朋友可以參考一下2024-05-05