コード例 #1
0
        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));
        }
コード例 #2
0
        public bool Remove(int key)
        {
            HashTableElement element = FindElement(o => o.HashCode == key);

            if (element == null)
            {
                return(false);
            }
            return(hashTable.Remove(element));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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();
            }
        }