首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • Hashtable排序的问题 [已结贴,结贴人:yuji821]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yuji821
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-08-20 15:08:58 楼主
    我写了这样一个方法

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

    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lude8880
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-20 15:13:201楼 得分:3
    hashtable没有顺序的,也没有next和previous.看来你没明白hashtable
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • asdf311
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-20 15:15:552楼 得分:3
    没法实现,你的想法就是和哈希的定义相悖的。

    建议直接使用 List, 再定义索引吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • blackhero
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-20 15:16:493楼 得分:3
    我知道arraylist排序要继承IComparer 

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

    试试
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ojlovecd
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-20 15:19:574楼 得分:3
    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]);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jietuan
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-20 15:27:085楼 得分:3
    你用arraylist
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lovehongyun
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-20 15:30:446楼 得分:2
    不行,hashtable没顺序

    lz可以用arraylist
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wdgphc
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-20 15:31:157楼 得分:2
    把hashtable换成 SortedList 就直接插入排序了.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wdgphc
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-20 15:42:188楼 得分:1
    引用 7 楼 wdgphc 的回复:
    把hashtable换成 SortedList 就直接插入排序了.


    Sorry,看错了,LZ是不要排序的.
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved