using System; using System.Collections; using System.Text; namespace Zhaizj.Framework { /// /// 根据插入先后次序排序的 Hashtable /// public class Dictionary : Hashtable { private ArrayList _keys = new ArrayList(); public Dictionary() { } /// /// 将键值插入字典 /// /// /// public override void Add( Object key, Object value ) { base.Add( key, value ); _keys.Add( key ); } /// /// 设置字典的键值 /// /// /// public void Set( Object key, Object value ) { base[key] = value; if (!_keys.Contains( key )) _keys.Add( key ); } /// /// 清楚所有数据 /// public override void Clear() { base.Clear(); _keys.Clear(); } /// /// 获取所有的 key(按照插入次序排序) /// public override ICollection Keys { get { return _keys; } } /// /// 删除某项 /// /// public override void Remove( Object key ) { base.Remove( key ); _keys.Remove( key ); } /// /// 根据 index 获取某项数据 /// /// /// public Object Get( int index ) { Object key = _keys[index]; return base[key]; } } }