C#中的HashTable

來源:互聯網
上載者:User

 

雜湊表,可能對於很多同行來說已經很熟悉.剛開始接觸時有點陌生,後來用多了也就熟了.當然網上關於這一個知識點的介紹很多,不過這並不妨礙我個人對此作出自己的總結與理解.

  在.NET Framework中,Hashtable是System.Collections命名空間提供的一個容器,用於處理和表現類似key/value的索引值對,其中key通常可用來快速尋找,同時key不允許重複,並且是區分大小寫;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();

            }

二.遍曆雜湊表:

遍曆雜湊表需要用到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

  }

通過Keys和Values屬性來得到對應的字串數組。

ICollection keyColl = openWith.Keys;

ICollection valueColl = openWith.Values;

三.對雜湊表進行排序

對雜湊表進行排序在這裡的定義是對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#編程中用的比較多,功能強大,掌握並能熟悉運用是一件很好的事情!

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.