Hashtable和SortedList和Dictionary他们的功能一样???有啥区别呢??

解决方案 »

  1.   

    Hashtable 是net1.1版本 ,2.0中对应的是Dictionary 如果是使用的是2.0或以上版本 建议使用Dictionary区别就是Dictionary 是泛型的,效率要比Hashtable 好
      

  2.   

    那SortedList分别和那2个进行比较呢?
      

  3.   

    SortedList就是链表,Dictionary是字典,内部用Hashtable实现~
    参考:
    http://blog.csdn.net/huzanqiang8/archive/2006/05/18/744275.aspx
      

  4.   

    Hashtable和Dictionary默认是不排序的. SortedList请看以下事例.            Hashtable hash = new Hashtable();
                hash.Add("first", "这是第一个值");//1
                hash.Add("third", "这是第三个值");//2
                hash.Add("second", "这是第二个值");//3
                Console.WriteLine("Hashtable");
                foreach (string key in hash.Keys)
                {
                    Console.WriteLine("key:{0}--value{1}", key, hash[key].ToString());
                }
                //结果
               // key:first--这是第一个值
               // key:third--这是第三个值
               // key:second--这是第二个值
                  SortedList sl = new SortedList();
                sl.Add("first", "这是第一个值");//1
                sl.Add("third", "这是第三个值");//2
                sl.Add("second", "这是第二个值");//3
                Console.WriteLine("SortList");
                foreach (string key in sl.Keys)
                {
                    Console.WriteLine("key:{0}--value{1}", key, sl[key].ToString());
                }            //结果
                // key:first--这是第一个值
                // key:second--这是第二个值
                // key:third--这是第三个值注意我们加入的键在首字母上的顺序.f(irst<(s)econd<(t)hird.
    明显的看到,Hashtable在进行迭代时是按插入键值对的先后顺序进行的.
    SortList则是在每次插入后对原表进行排序.所以迭代就是按key的顺序迭代的.
    当Key为中文时,比较有意思.楼主可以自己试试.