自定义字典类Net FrameWork2.0

//自定义字典类 public class DictionaryEx<TKey, TValue> : CollectionBase { private TObjectCollection<TKey> keys = new TObjectCollection<TKey>(); private TObjectCollection<TValue> values = new TObjectCollection<TValue>(); public DictionaryEx() { } #region IDictionary<TKey,TValue> 成员 public void Add(TKey key, TValue value) { keys.Add(key); values.Add(value); } public bool ContainsKey(TKey key) { return keys.Contains(key); } public TObjectCollection<TKey> Keys { get { return keys; } } public bool Remove(TKey key) { values.RemoveAt(keys.IndexOf(key)); keys.Remove(key); return true; } public bool TryGetValue(TKey key, out TValue value) { value = default(TValue); value = values[keys.IndexOf(key)]; return false; } public TObjectCollection<TValue> Values { get { return values; } } public TValue this[TKey key] { get { return values[keys.IndexOf(key)]; } set { values[keys.IndexOf(key)]=value; } } #endregion public bool ClearEx() { keys.Clear(); values.Clear(); return true; } } public class TObjectCollection<T> : ICollection<T> { private ArrayList keys = new ArrayList(); public T this[int index] { get { return (T)keys[index]; } set { keys[index] = value; } } public int IndexOf(T item) { int index = 0; for (int i = 0; i < keys.Count; i++) { if (keys[i].ToString().Trim() == item.ToString()) { index = i; break; } } return index; } #region ICollection<T> 成员 public void Add(T item) { keys.Add(item); } public bool Contains(T item) { return this.keys.Contains(item); } public bool IsReadOnly { get { return false; } } public bool Remove(T item) { keys.Remove(item); return true; } public bool RemoveAt(int index) { this.keys.RemoveAt(index); return true; } public int Count { get { return this.keys.Count; } } public void Clear() { this.keys.Clear(); } #endregion #region IEnumerable<T> 成员 public new IEnumerator<T> GetEnumerator() { return null; } public void CopyTo(T[] array, int arrayIndex) { throw new NotImplementedException(); } #endregion #region IEnumerable 成员 IEnumerator IEnumerable.GetEnumerator() { throw new NotImplementedException(); } #endregion }  

转载于:https://www.cnblogs.com/sqlite3/archive/2011/04/18/2566871.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值