public bool Remove(KeyValuePair <int, object> elementToRemove) { HashTableElement element = FindElement(o => o.Data == elementToRemove.Value && o.HashCode == elementToRemove.Key); if (element == null) { return(false); } return(hashTable.Remove(element)); }
public bool Remove(int key) { HashTableElement element = FindElement(o => o.HashCode == key); if (element == null) { return(false); } return(hashTable.Remove(element)); }
void ICollection <KeyValuePair <int, object> > .Add(KeyValuePair <int, object> keyvalue) { if (FindElement(o => o.HashCode == keyvalue.Key) != null) { throw new InvalidOperationException(); } HashTableElement element = new HashTableElement(); element.Data = keyvalue.Value; element.HashCode = keyvalue.Key; hashTable.Add(element); }
public void Add(object value) { if (FindElement(o => o.HashCode == value.GetHashCode()) != null) { throw new InvalidOperationException(); } HashTableElement element = new HashTableElement(); element.Data = value; element.HashCode = value.GetHashCode(); hashTable.Add(element); }
public Object this[int index] { get { return(Find(o => o.GetHashCode() == index)); } set { HashTableElement element = FindElement(o => o.GetHashCode() == index); if (element == null) { throw new ArgumentOutOfRangeException(); } element.Data = value; element.HashCode = value.GetHashCode(); } }