private void Form1_Load(object sender, EventArgs e)<br /> {<br /> Hashtable ht = new Hashtable();</p><p> ht.Add("job", "a");<br /> ht.Add("jobmon", "20");</p><p> //單個取值,方法比較特別<br /> string a = ht["jobmon"].ToString();<br /> //Console.WriteLine(a);</p><p> //第一種方法遍曆<br /> foreach(DictionaryEntry de in ht)<br /> {<br /> Console.WriteLine(de.Key);<br /> Console.WriteLine(de.Value);<br /> }</p><p> Console.WriteLine("-------------------------");</p><p> //第二種方法遍曆<br /> IDictionaryEnumerator enumerator = ht.GetEnumerator();<br /> while (enumerator.MoveNext())<br /> {<br /> Console.WriteLine(enumerator.Key);<br /> Console.WriteLine(enumerator.Value);<br /> }</p><p> Console.WriteLine("++++++++++++++++++++++++++");<br /> //hashtable的排序第一種方法,按照鍵的大小排序</p><p> ArrayList al = new ArrayList(ht.Keys);</p><p> al.Sort();<br /> al.Reverse(); //反向排序</p><p> foreach (string str in al)<br /> {<br /> Console.WriteLine(str + " " + ht[str]);<br /> }</p><p> Console.WriteLine("++++++++++++++++++++++++++");<br /> //hashtable的排序第二種方法,按照值的大小排序</p><p> ArrayList alv = new ArrayList(ht.Values);<br /> alv.Sort();</p><p> foreach (string str in alv)<br /> {<br /> IDictionaryEnumerator enumerator2 = sl.GetEnumerator();</p><p> while (enumerator2.MoveNext())<br /> {<br /> if (str.Equals(enumerator2.Value.ToString()))<br /> {</p><p> Console.WriteLine(enumerator2.Key + ":" + enumerator2.Value);<br /> }</p><p> }</p><p> }</p><p> Console.WriteLine("++++++++++++++++++++++++++");<br /> //hashtable的排序第三種方法,用SortedList代替hashtable</p><p> SortedList sl = new SortedList();</p><p> sl.Add("a", "a1");<br /> sl.Add("c", "c1");<br /> sl.Add("b", "b1");</p><p> IDictionaryEnumerator enumerator1 = sl.GetEnumerator();<br /> while (enumerator1.MoveNext())<br /> {<br /> Console.WriteLine(enumerator1.Key);<br /> Console.WriteLine(enumerator1.Value);<br /> }</p><p> }