读书人

Hashtable排序的有关问题

发布时间: 2012-02-04 15:43:09 作者: rapoo

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 就直接插入排序了.

读书人网 >C#

热点推荐