Z.Expressions.ListDictionary.Remove C# (CSharp) Method

Remove() public method

public Remove ( object key ) : void
key object
return void
        public void Remove(object key)
        {
            if (key == null)
            {
                throw new ArgumentNullException("key", "error");
            }
            version++;
            DictionaryNode last = null;
            DictionaryNode node;
            for (node = head; node != null; node = node.next)
            {
                var oldKey = node.key;
                if ((comparer == null) ? oldKey.Equals(key) : comparer.Compare(oldKey, key) == 0)
                {
                    break;
                }
                last = node;
            }
            if (node == null)
            {
                return;
            }
            if (node == head)
            {
                head = node.next;
            }
            else
            {
                last.next = node.next;
            }
            Count--;
        }