Ejemplo n.º 1
0
        public void Add(TKey key, TValue value)
        {
            ThrowIfFinished();

            if (negativeDelta.ContainsKey(key))
            {
                negativeDelta.Remove(key);
            }
            else if (owner.TryGet(key, out _) || positiveDelta.ContainsKey(key))
            {
                throw new ArgumentException("An item with the same key has already been added.");
            }
            else
            {
                positiveDelta.Add(key, value);
            }
        }