總結C#哈希表的用法
C#哈希表,可能對于很多同行來說已經很熟悉.剛開始接觸時有點陌生,后來用多了也就熟了.當然網上關于這一個知識點的介紹很多,不過這并不妨礙我個人對此作出自己的總結與理解.
在.NET Framework中,Hashtable是System.Collections命名空間提供的一個容器,用于處理和表現類似key/value的鍵值對,其中key通??捎脕砜焖俨檎遥瑫rkey是區分大小寫;value用于存儲對應于key的值。Hashtable中key/value鍵值對均為object類型,所以Hashtable可以支持任何類型的key/value鍵值對.
因此在用的過程中,需引用:using System.Collections;下面列一下常用的用法,右邊給出相應的注釋.
一.常用的方法:
- Hashtable hshTable = new Hashtable(); // 創建哈希表
- hshTable .Add("Person1", "zhanghf"); // 往哈希表里添加鍵值對
- hshTable .Clear(); //移除哈希表里所有的鍵值對
- hshTable .Contains("Person1"); //判斷哈希表里是否包含該鍵
- string name = (string)hshTable["Person1"].ToString(); //取哈希表里指定鍵的值
- hshTable.Remove("Person1"); // 刪除哈希表里指定鍵的鍵值對
- IDictionaryEnumerator en = hshTable.GetEnumerator(); // 遍歷哈希表所有的鍵,讀出相應的值
- while (en.MoveNext())
- {
- string str = en.Value.ToString();
- }
二.遍歷C#哈希表:
遍歷哈希表需要用到DictionaryEntry Object,代碼如下:
- for(DictionaryEntry de in ht) //ht為一個Hashtable實例
- {
- Console.WriteLine(de.Key);//de.Key對應于key/value鍵值對key
- Console.WriteLine(de.Value);//de.Key對應于key/value鍵值對value
- }
三.對C#哈希表進行排序
對哈希表進行排序在這里的定義是對key/value鍵值對中的key按一定規則重新排列,但是實際上這個定義是不能實現的,因為我們無法直接在Hashtable進行對key進行重新排列,如果需要Hashtable提供某種規則的輸出,可以采用一種變通的做法:
- ArrayList akeys=new ArrayList(ht.Keys); //記得導入System.Collections
- akeys.Sort(); //調用了akeys的按字母順序進行排序Sort,這個很容易單獨實現
- for(string skey in akeys)
- {
- Console.Write(skey + ":");
- Console.WriteLine(ht[skey]);//排序后輸出
- }
C#哈希表在編程中用的比較多,功能強大,掌握并能熟悉運用是一件很好的事情!
【編輯推薦】