我写了这样一个方法Hashtable cList = new Hashtable();        foreach (DataRow row in tb.Rows)
        {
            cList.Add(row["item_name"].ToString(), row["item_ename"].ToString());
        }
        return cList;现在在Hashtable中的数据不是按添加的顺序我想得到要得到按添加进Hashtable的顺序如:colist.add("aaa",1);colist.add("sfsf",1);.........在HashTable存的也是这个顺序,怎么实现

解决方案 »

  1.   

    没法实现,你的想法就是和哈希的定义相悖的。建议直接使用 List, 再定义索引吧
      

  2.   

    我知道arraylist排序要继承IComparer  不知道Hashtable 排序要不要继承IComparer 试试 
      

  3.   

    HashTable是散列表,所谓散列即没有顺序可言,不过你可以尝试用foreach,但不推荐,建议还是使用List<T>泛型            Hashtable ht = new Hashtable();
                for (int i = 0; i < 100; i++)
                    ht.Add(i, i);
                foreach (int i in ht.Keys)//这样是按加入顺序的倒序输出
                    Console.WriteLine(ht[i]);
      

  4.   

    不行,hashtable没顺序lz可以用arraylist
      

  5.   

    把hashtable换成 SortedList 就直接插入排序了.
      

  6.   


    Sorry,看错了,LZ是不要排序的.