| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Collections;
- namespace Core.LgMes.Client.LgJobMgt
- {
- public class Hashlist : IDictionary, IEnumerable, IDisposable
- {
- #region 成员变量
- protected ArrayList m_oKeys;// = new ArrayList();
- /// <summary>
- /// 数据存放Hash列表,主要是为了加快数据存放速度
- /// </summary>
- protected Hashtable m_oValues;// = new Hashtable();
- #endregion
- public Hashlist()
- {
- m_oKeys = new ArrayList();
- m_oValues = new Hashtable();
- }
- #region ICollection 接口派生函数
- /// <summary>
- /// 数据节点个数
- /// </summary>
- public int Count
- {
- get { return m_oValues.Count; }
- }
- /// <summary>
- ///
- /// </summary>
- public bool IsSynchronized
- {
- get { return m_oValues.IsSynchronized; }
- }
- /// <summary>
- ///
- /// </summary>
- public object SyncRoot
- {
- get { return m_oValues.SyncRoot; }
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="oArray"></param>
- /// <param name="iArrayIndex"></param>
- public void CopyTo(System.Array oArray, int iArrayIndex)
- {
- m_oValues.CopyTo(oArray, iArrayIndex);
- }
- #endregion
- #region IDictionary 接口函数
- /// <summary>
- ///
- /// </summary>
- /// <param name="oKey"></param>
- /// <param name="oValue"></param>
- public void Add(object oKey, object oValue)
- {
- m_oKeys.Add(oKey);
- m_oValues.Add(oKey, oValue);
- }
- /// <summary>
- ///
- /// </summary>
- public bool IsFixedSize
- {
- get { return m_oKeys.IsFixedSize; }
- }
- /// <summary>
- ///
- /// </summary>
- public bool IsReadOnly
- {
- get { return m_oKeys.IsReadOnly; }
- }
- /// <summary>
- ///
- /// </summary>
- public ICollection Keys
- {
- get { return m_oValues.Keys; }
- }
- /// <summary>
- ///
- /// </summary>
- public void Clear()
- {
- m_oValues.Clear();
- m_oKeys.Clear();
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="oKey"></param>
- /// <returns></returns>
- public bool Contains(object oKey)
- {
- return m_oValues.Contains(oKey);
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="oKey"></param>
- /// <returns></returns>
- public bool ContainsKey(object oKey)
- {
- return m_oValues.ContainsKey(oKey);
- }
- /// <summary>
- ///
- /// </summary>
- /// <returns></returns>
- public IDictionaryEnumerator GetEnumerator()
- {
- return m_oValues.GetEnumerator();
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="oKey"></param>
- public void Remove(object oKey)
- {
- m_oValues.Remove(oKey);
- m_oKeys.Remove(oKey);
- }
- /// <summary>
- ///
- /// </summary>
- public object this[object oKey]
- {
- get { return m_oValues[oKey]; }
- set { m_oValues[oKey] = value; }
- }
- /// <summary>
- ///
- /// </summary>
- public ICollection Values
- {
- get { return m_oValues.Values; }
- }
- #endregion
- #region IEnumerable 接口
- IEnumerator IEnumerable.GetEnumerator()
- {
- return m_oValues.GetEnumerator();
- }
- #endregion
- #region Hashlist 实现的查询对象
- /// <summary>
- ///
- /// </summary>
- public object this[string Key]
- {
- get { return m_oValues[Key]; }
- }
- /// <summary>
- ///
- /// </summary>
- public object this[int Index]
- {
- get { return m_oValues[m_oKeys[Index]]; }
- }
- #endregion
- #region IDisposable 数据销毁接口
- public void Dispose()
- {
- m_oKeys.Clear();
- }
- #endregion
- }
- }
|