您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)C#中如何使用哈希表,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
在.NET Framework中,Hashtable是System.Collections命名空間提供的一個(gè)容器,用于處理和表現(xiàn)類似key/value的鍵值對(duì),其中key通常可用來(lái)快速查找,同時(shí)key是區(qū)分大小寫;value用于存儲(chǔ)對(duì)應(yīng)于key的值。Hashtable中key/value鍵值對(duì)均為object類型,所以Hashtable可以支持任何類型的key/value鍵值對(duì).
因此在用的過(guò)程中,需引用:using System.Collections;下面列一下常用的用法,右邊給出相應(yīng)的注釋.
一.常用的方法:
Hashtable hshTable = new Hashtable(); // 創(chuàng)建哈希表 hshTable .Add("Person1", "zhanghf"); // 往哈希表里添加鍵值對(duì) hshTable .Clear(); //移除哈希表里所有的鍵值對(duì) hshTable .Contains("Person1"); //判斷哈希表里是否包含該鍵 string name = (string)hshTable["Person1"].ToString(); //取哈希表里指定鍵的值 hshTable.Remove("Person1"); // 刪除哈希表里指定鍵的鍵值對(duì) IDictionaryEnumerator en = hshTable.GetEnumerator(); // 遍歷哈希表所有的鍵,讀出相應(yīng)的值 while (en.MoveNext()) { string str = en.Value.ToString(); }
二.遍歷C#哈希表:
遍歷哈希表需要用到DictionaryEntry Object,代碼如下:
for(DictionaryEntry de in ht) //ht為一個(gè)Hashtable實(shí)例 { Console.WriteLine(de.Key);//de.Key對(duì)應(yīng)于key/value鍵值對(duì)key Console.WriteLine(de.Value);//de.Key對(duì)應(yīng)于key/value鍵值對(duì)value }
三.對(duì)C#哈希表進(jìn)行排序
對(duì)哈希表進(jìn)行排序在這里的定義是對(duì)key/value鍵值對(duì)中的key按一定規(guī)則重新排列,但是實(shí)際上這個(gè)定義是不能實(shí)現(xiàn)的,因?yàn)槲覀儫o(wú)法直接在Hashtable進(jìn)行對(duì)key進(jìn)行重新排列,如果需要Hashtable提供某種規(guī)則的輸出,可以采用一種變通的做法:
ArrayList akeys=new ArrayList(ht.Keys); //記得導(dǎo)入System.Collections akeys.Sort(); //調(diào)用了akeys的按字母順序進(jìn)行排序Sort,這個(gè)很容易單獨(dú)實(shí)現(xiàn) for(string skey in akeys) { Console.Write(skey + ":"); Console.WriteLine(ht[skey]);//排序后輸出 }
關(guān)于C#中如何使用哈希表就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。