• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 在C#中應用哈希表(Hashtable)

    發表于:2007-05-25來源:作者:點擊數: 標簽:Hashtable應用哈希
    一,哈希表(Hashtable)簡述 在.NET Framework中,Hashtable是System.Collections命名空間提供的一個容器,用于處理和表現類似key/value的鍵值對,其中key通??捎脕砜焖俨檎?,同時key是區分大小寫;value用于存儲對應于key的值。Hashtable中key/value鍵值對均
    一,哈希表(Hashtable)簡述


    .NET Framework中,Hashtable是System.Collections命名空間提供的一個容器,用于處理和表現類似key/value的鍵值對,其中key通??捎脕砜焖俨檎?,同時key是區分大小寫;value用于存儲對應于key的值。Hashtable中key/value鍵值對均為object類型,所以Hashtable可以支持任何類型的key/value鍵值對.


    二,哈希表的簡單操作


    在哈希表中添加一個key/value鍵值對:HashtableObject.Add(key,value);
    在哈希表中去除某個key/value鍵值對: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");//添加key/value鍵值對
    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");//移除一個key/value鍵值對
    Console.WriteLine(ht["A"]);//此處輸出a
    ht.Clear();//移除所有元素
    Console.WriteLine(ht["A"]); //此處將不會有任何輸出
    }
    }


    三,遍歷哈希表


    遍歷哈希表需要用到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
    }


    四,對哈希表進行排序


    對哈希表進行排序在這里的定義是對key/value鍵值對中的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]);//排序后輸出
    }



    原文轉自:http://www.kjueaiud.com

    評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>