修改Hashtable的排序方法

来源:互联网 发布:nginx 配置 80端口 编辑:程序博客网 时间:2024/05/18 10:13
 

使用Hashtable的时候,有时候需要保持传入数据的原有顺序,即以什么顺序传入就以什么顺序取出,修改如下:

 

public class SortHashTable : Hashtable    {        private ArrayList arrayList = new ArrayList();        public override void Add(object key, object value)        {            base.Add(key, value);            arrayList.Add(key);        }        public override void Clear()        {            base.Clear();            arrayList.Clear();        }        public override void Remove(object key)        {            base.Remove(key);            arrayList.Remove(key);        }        public override ICollection Keys        {            get            {                return arrayList;            }        }    }

使用:

Hashtable ht = new SortHashTable();ht.Add("1",values);ht.Add("2",values);……foreach(var key in ht.keys){…… ht[key];}_____________________ArrayList list = new ArrayList(ht.keys);list.Sort();foreach(var key in list){…… ht[key]}



 

原创粉丝点击