Files
2026-07-10 15:25:05 +08:00

74 lines
1.7 KiB
C#

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