[C#.NET][VB.NET] 一般集合 – Hashtable 集合 類別 建立查詢表 / 搜尋關鍵字
我們可以 Hashtable 類別來做索引鍵(Key)與內容(Value)的對應,假設我們現在需要對應某些使用者的全名與電子郵件地址,這時用Hashtable類別來儲存這樣的對應,在開發上又多了一項選擇。
Hashtable 類別特性如下:
1.使用 Hashtable 類別時需要有索引鍵(Key)與值(Value),但要注意的是索引鍵不能重複。
2.用於包含10個或更多項目的集合,對小集合沒效率;若是小集合(小於10),則使用 ListDictionary,可穫得較佳的效能。
3.集合內容存放的順序與加入順序無關,Hashtable 會依自己的演算方式來排序順序。
4.需使用 DictionaryEntry 結構來取得 Hashtable 的索引鍵(Key)與內容(Value)。
5.不適合用在排序。
如何建立Hashtable
1.匯入System.Collections命名空間
using System.Collections;
2.用Add方法建立
myHash.Add("看先生", www@yahoo.com);
或直接指定
myHash["看先生"] = www@yahoo.com;
如何處理Hashtable
當Hashtable建立完成之後,可以用DictionaryEntry結構逐一處理索引鍵/值組配對
foreach (DictionaryEntry Table in myHash)
{
Console.WriteLine("索引鍵:{0},值:{1}",Table.Key,Table.Value);
}
也可以用索引鍵來逐一處理
foreach (object Table in myHash.Keys)
{
Console.WriteLine(Table.ToString());
}
如何搜尋關鍵字
ContainsKey | 判斷集合是否包含某個特定的索引鍵 |
ContainsValue | 判斷集合是否包含某個特定的值 |
string str = "三先生";
if (myHash.ContainsKey(str))
{
Console.WriteLine(str+"存在");
}
else
{
Console.WriteLine(str+"不存在");
}
範例下載:字典類別Hashtable.rar
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET