public TValue this[TKey key] { get { if (key == null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.key); } TreeSet <KeyValuePair <TKey, TValue> > .Node node = _set.FindNode(new KeyValuePair <TKey, TValue>(key, default(TValue))); if (node == null) { ThrowHelper.ThrowKeyNotFoundException(); } return(node.Item.Value); } set { if (key == null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.key); } TreeSet <KeyValuePair <TKey, TValue> > .Node node = _set.FindNode(new KeyValuePair <TKey, TValue>(key, default(TValue))); if (node == null) { _set.Add(new KeyValuePair <TKey, TValue>(key, value)); } else { node.Item = new KeyValuePair <TKey, TValue>(node.Item.Key, value); _set.UpdateVersion(); } } }
// Returns the value associated with the given key. If an entry with the // given key is not found, the returned value is null. // public TValue this[TKey key] { get { int i = IndexOfKey(key); if (i >= 0) { return(values[i]); } ThrowHelper.ThrowKeyNotFoundException(); return(default(TValue)); } set { if (((Object)key) == null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.key); } int i = Array.BinarySearch <TKey>(keys, 0, _size, key, comparer); if (i >= 0) { values[i] = value; version++; return; } Insert(~i, key, value); } }
public TValue this[TKey key] { get { int i = FindEntry(key); if (i >= 0) return entries[i].value; ThrowHelper.ThrowKeyNotFoundException(); return default(TValue); } set { Insert(key, value, false); } }
public TValue this[TKey key] { get { int index = this.FindEntry(key); if (index >= 0) { return(this.entries[index].value); } ThrowHelper.ThrowKeyNotFoundException(); return(default(TValue)); } set { this.Insert(key, value, false); } }