public V this[K key] { get { KVP <K, V> item = store.Find(delegate(KVP <K, V> kvp) { return(kvp.Key.Equals(key)); }); if (item != null) { return(item.Val); } else { return(default(V)); } } set { int i = store.FindIndex(delegate(KVP <K, V> kvp) { return(kvp.Key.Equals(key)); }); if (i < 0) { store.Add(new KVP <K, V>(key, value)); } else { store[i] = new KVP <K, V>(key, value); } } }
public bool GetKVP(K key, out KVP <K, V> kvp) { int i = GetStoreIndex(key); if (i < 0) { kvp = default(KVP <K, V>); return(false); } else { kvp = store[i]; return(true); } }