using System.Collections;
namespace Common
{
/********************************************************************************
* 作者:
* 创始时间:
* 描述:
* Hashtable实现不排序(重写Hashtable)
*********************************************************************************/
public class HashListHelper : Hashtable
{
private ArrayList alKey = new ArrayList();//用于排序,ArrayList不会自动排序,所以可以用来实现Hashtable不排序
private ArrayList alValue = new ArrayList();
public override void Add(object key, object value)
{
alKey.Add(key);
alValue.Add(value);
base.Add(key, value);
}
public override void Clear()
{
alKey.Clear();
alValue.Clear();
base.Clear();
}
public override void Remove(object key)
{
alKey.Remove(key);
alValue.Remove(base[key]);
base.Remove(key);
}
public override ICollection Keys
{
get
{
return alKey;
}
}
public override ICollection Values
{
get
{
return alValue;
}
}
public void Sort()
{
alKey.Sort();
alValue.Sort();
}
}
}
Hashtable目前是按一定规则自己排序的,代码不能控制。现在通过ArrayList不会自动排序的特性,实现Hashtable不排序,插入时什么顺序,就什么顺序。一般用于数据库更新语句的顺序执行操作。