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#將配置文件appsetting中的值轉(zhuǎn)換為動(dòng)態(tài)對(duì)象調(diào)用
這篇文章主要介紹了將配置文件appsetting中的值轉(zhuǎn)換為動(dòng)態(tài)對(duì)象調(diào)用 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09
Unity3D實(shí)現(xiàn)物體旋轉(zhuǎn)縮放移動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了Unity3D實(shí)現(xiàn)物體旋轉(zhuǎn)縮放移動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
C# WinForm 登錄界面的圖片驗(yàn)證碼(區(qū)分大小寫+不區(qū)分大小寫)
這篇文章主要介紹了C# WinForm 登錄界面的圖片驗(yàn)證碼(區(qū)分大小寫+不區(qū)分大小寫),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
探討Object轉(zhuǎn)為String的幾種簡(jiǎn)易形式詳解
本篇文章是對(duì)Object轉(zhuǎn)為String的幾種簡(jiǎn)易形式進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
C#實(shí)現(xiàn)根據(jù)指定容器和控件名字獲得控件的方法
這篇文章主要介紹了C#實(shí)現(xiàn)根據(jù)指定容器和控件名字獲得控件的方法,其中包括了遍歷與遞歸的應(yīng)用,需要的朋友可以參考下2014-08-08
C#通過(guò)NPOI操作Excel的實(shí)例代碼
C#操作Excel的方法有很多種,本文介紹了C#通過(guò)NPOI操作Excel,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01

