首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

Hashtable排序的有关问题

2012-02-04 
Hashtable排序的问题我写了这样一个方法Hashtable cList new Hashtable()foreach (DataRow row in tb.R

Hashtable排序的问题
我写了这样一个方法

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存的也是这个顺序,怎么实现



[解决办法]
hashtable没有顺序的,也没有next和previous.看来你没明白hashtable
[解决办法]
没法实现,你的想法就是和哈希的定义相悖的。

建议直接使用 List, 再定义索引吧
[解决办法]
我知道arraylist排序要继承IComparer

不知道Hashtable 排序要不要继承IComparer 

试试
[解决办法]
HashTable是散列表,所谓散列即没有顺序可言,不过你可以尝试用foreach,但不推荐,建议还是使用List<T>泛型

C# code
            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]);
[解决办法]
你用arraylist
[解决办法]
不行,hashtable没顺序

lz可以用arraylist
[解决办法]
把hashtable换成 SortedList 就直接插入排序了.
[解决办法]
探讨
把hashtable换成 SortedList 就直接插入排序了.

热点排行