首页 > 其他 > 详细

[转载]C# HashTable 遍历与排序

时间:2014-02-05 16:31:56      阅读:374      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
        private void Form1_Load(object sender, EventArgs e)
        {
            Hashtable ht = new Hashtable();

            ht.Add("job", "a");
            ht.Add("jobmon", "20");
            
            //单个取值,方法比较特别
            string a = ht["jobmon"].ToString();
            //Console.WriteLine(a);

            //第一种方法遍历
            foreach(DictionaryEntry de in ht)
            {
                Console.WriteLine(de.Key);
                Console.WriteLine(de.Value);
            }

            Console.WriteLine("-------------------------");
            
            //第二种方法遍历
            IDictionaryEnumerator enumerator = ht.GetEnumerator();
            while (enumerator.MoveNext())
            {
                Console.WriteLine(enumerator.Key);
                Console.WriteLine(enumerator.Value);
            }

            Console.WriteLine("++++++++++++++++++++++++++");
            //hashtable的排序第一种方法,按照键的大小排序

            ArrayList al = new ArrayList(ht.Keys);

            al.Sort();
            al.Reverse(); //反向排序

            foreach (string str in al)
            {
                Console.WriteLine(str + "  " + ht[str]);
            }

            Console.WriteLine("++++++++++++++++++++++++++");
            //hashtable的排序第二种方法,按照值的大小排序

            ArrayList alv = new ArrayList(ht.Values);
            alv.Sort();
            
            foreach (string str in alv)
            {
                IDictionaryEnumerator enumerator2 = sl.GetEnumerator();

                while (enumerator2.MoveNext())
                {
                    if (str.Equals(enumerator2.Value.ToString()))
                    {

                        Console.WriteLine(enumerator2.Key + ":" + enumerator2.Value);        
                    }
                    
                }

                
            }

            Console.WriteLine("++++++++++++++++++++++++++");
            //hashtable的排序第三种方法,用SortedList代替hashtable

            SortedList sl = new SortedList();

            sl.Add("a", "a1");
            sl.Add("c", "c1");
            sl.Add("b", "b1");

            IDictionaryEnumerator enumerator1 = sl.GetEnumerator();
            while (enumerator1.MoveNext())
            {
                Console.WriteLine(enumerator1.Key);
                Console.WriteLine(enumerator1.Value);
            }

        }
bubuko.com,布布扣


原文地址:http://blog.csdn.net/zhenniubile/article/details/6079547

[转载]C# HashTable 遍历与排序

原文:http://www.cnblogs.com/iack/p/3538253.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!