C#中的Hashtable

     richTextBox1.Text = "";
            Hashtable ht = new Hashtable();
            ht.Add("1", "1111");
          
            ht.Add("2", "2222");
            ht.Add("3", "3333");
            ht.Add("4", "4444");

            //遍历方法一:遍历哈希表中的键
            richTextBox1.Text += "遍历方法一:遍历哈希表中的键\n";
            foreach (string key in ht.Keys)
            {
                //Console.WriteLine(string.Format("{0}-{1}"), key, ht[key]);
                 richTextBox1.Text+= string.Format("{0}-{1}", key, ht[key])+"\n";
            }
            richTextBox1.Text += "遍历方法二:遍历哈希表中的值**********************************************************\n";
            //遍历方法二:遍历哈希表中的值
            foreach (string value in ht.Values)
            {
                richTextBox1.Text+= value+"\n";
            }
            richTextBox1.Text += "遍历方法三:遍历哈希表中的键值**********************************************************\n";
            //遍历方法三:遍历哈希表中的键值
            foreach (DictionaryEntry de in ht)
            {
                richTextBox1.Text += string.Format("{0}-{1}", de.Key, de.Value)+"\n";
            }
            richTextBox1.Text += "遍历方法四:遍历哈希表中的键值**********************************************************\n";
            //遍历方法四:遍历哈希表中的键值
            IDictionaryEnumerator myEnumerator = ht.GetEnumerator();
            bool flag = myEnumerator.MoveNext();
            while (flag)
            {
                richTextBox1.Text+= myEnumerator.Key + "-" + myEnumerator.Value+"\n";
                //  Console.WriteLine(ht[myEnumerator.Key]);//ht[myEnumerator.Key]== myEnumerator.Value=true;
                flag = myEnumerator.MoveNext();
            }
            richTextBox1.Text += ht["1"] + "\n";


 

1、别称:哈希表、键值对、关联数组

2、概述:
    (1)、用于处理和表现类似Key/Value的键值对
        (2)、key --- 可以是不同数据类型,但不能重名,必须满足唯一性,同时它还区分大小写。通常用于快速查找,类似索引。
               value --- 用于存储对应key的值,
               二者均为object类型, 因此,Hashtable支持任何类型的key/value键值对。
        (3)、Hashtable中的元素存储在DictionaryEntry对象中。

3、声明之前需引用命名空间:System.Collections
     Hashtable ht = new Hashtable();

 4、添加方法:
    (1)Add(键,"值")
     (2)ht[键] = "值"
     用第二种方法,可能添加元素,也可能是重新赋值,取决于 “键”是否已经存在!

5、遍历方法:利用foreach循环
    (1)用DictionaryEntry对象 声明;
        foreach (DictionaryEntry myEntry in ht)
                 {
                     Console.WriteLine("key键:{0}-----value值:{1}",myEntry.Key,myEntry.Value);
                 }
     (2)用Object类声明
        foreach (object obj in ht.Keys)
                 {
                     Console.WriteLine("key键:{0}-----value值:{1}",obj,ht[obj]);
                 }
 6、删除方法:
    Remove(Key键) ----- 删除指定元素
    Clear() ------ 清空所有元素

7、查找方法:(返回布尔值)
    ContainsKey ---- 按  键  查找
    ContainsValue ----  按  值  查找