詳解C#中HashTable的用法。本站提示廣大學習愛好者:(詳解C#中HashTable的用法)文章只能為提供參考,不一定能成為您想要的結果。以下是詳解C#中HashTable的用法正文
一,哈希表(Hashtable)簡述
在.NET Framework中,Hashtable是System.Collections定名空間供給的一個容器,用於處置和表示相似keyvalue的鍵值對,個中key平日可用來疾速查找,同時key是辨別年夜小寫;value用於存儲對應於key的值。Hashtable中keyvalue鍵值對均為object類型,所以Hashtable可以支撐任何類型的keyvalue鍵值對.
二,哈希表的簡略操作
在哈希表中添加一個keyvalue鍵值對:HashtableObject.Add(key,value);
在哈希表中去除某個keyvalue鍵值對:HashtableObject.Remove(key);
從哈希表中移除一切元素: HashtableObject.Clear();
斷定哈希表能否包括特定鍵key: HashtableObject.Contains(key);
上面掌握台法式將包括以上一切操作:
using System;
using System.Collections; //應用Hashtable時,必需引入這個定名空間
class hashtable
{
public static void Main()
{
Hashtable ht=new Hashtable(); //創立一個Hashtable實例
ht.Add("E","e");//添加keyvalue鍵值對
ht.Add("A","a");
ht.Add("C","c");
ht.Add("B","b");
string s=(string)ht["A"];
if(ht.Contains("E")) //斷定哈希表能否包括特定鍵,其前往值為true或false
Console.WriteLine("the E key exist");
ht.Remove("C");//移除一個keyvalue鍵值對
Console.WriteLine(ht["A"]);//此處輸入a
ht.Clear();//移除一切元素
Console.WriteLine(ht["A"]); //此處將不會有任何輸入
}
}
三,遍歷哈希表
遍歷哈希表須要用到DictionaryEntry Object,代碼以下:
for(KeyValuePair de in ht) //ht為一個Hashtable實例
{
Console.WriteLine(de.Key);//de.Key對應於keyvalue鍵值對key
Console.WriteLine(de.Value);//de.Key對應於keyvalue鍵值對value
}
四,對哈希表停止排序
對哈希表停止排序在這裡的界說是對keyvalue鍵值對中的key按必定規矩從新分列,然則現實上這個界說是不克不及完成的,由於我們沒法直接在Hashtable停止對key停止從新分列,假如須要Hashtable供給某種規矩的輸入,可以采取一種變通的做法:
ArrayList akeys=new ArrayList(ht.Keys); //別忘了導入System.Collections
akeys.Sort(); //按字母次序停止排序
for(string skey in akeys)
{
Console.Write(skey + ":");
Console.WriteLine(ht[skey]);排序後輸入
}
以上所述是小編給年夜家引見的C#中HashTable的用法,願望對年夜家有所贊助!