后台-插件-广告管理-内容页广告位一(手机)

您现在的位置是:首页 > 开发类 > 问答问答

Hashtable排序的问题

2021-07-06 20:04:47问答人已围观

简介 <P>我写了这样一个方法</P>
<P>Hashtable cList = new Hashtable();<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (DataRow row in tb.Rows)<

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

最佳答案:产生这个结果的原因大家都知道,Hashtable内部的排序机制使然.我们可以用ArrayList重写Hashtable.因为ArrayList是不会排序的。代码如下: namespace NoSortHashtable { public class NoSortHashtable : Hashtable { private ArrayList keys = new ArrayList(); public NoSortHashtable() { } public override void Add(object key, object value) { base.Add (key, value); keys.Add (key); } public override ICollection Keys { get { return keys; } } public override void Clear() { base.Clear (); keys.Clear (); } public override void Remove(object key) { base.Remove (key); keys.Remove (key); } public override IDictionaryEnumerator GetEnumerator() { return base.GetEnumerator (); } } }

文章来源:https://q.cnblogs.com/q/2472/

Tags:.net技术 c 

很赞哦! ()

后台-插件-广告管理-内容页广告位二(手机)

相关文章

后台-插件-广告管理-内容页广告位三(手机)
后台-插件-广告管理-内容页广告位四(手机)

文章评论

留言与评论(共有 0 条评论)
   
验证码:

本栏推荐

站点信息

  • 文章统计90047篇文章
  • 浏览统计10083次浏览
  • 评论统计1个评论
  • 标签管理标签云
  • 统计数据:统计代码
  • 微信公众号:扫描二维码,关注我们