public void Add(KeyValuePair <TKEY, TVALUE> item) { var sortKey = new SortedDictionaryKey(_SortFunc(item.Value), item.Key); _InternalDict.Add(item.Key, item.Value); _SortedKeys.Add(sortKey, item.Key); _SortedValues.Add(sortKey, item.Value); }
private Boolean RemoveInternal(TKEY key, TVALUE val) { if (!_InternalDict.Remove(key)) { return(false); } var sortKey = new SortedDictionaryKey(_SortFunc(val), key); var retVal = _SortedKeys.Remove(sortKey); return(retVal || _SortedValues.Remove(sortKey)); }
public void Add(TKEY key, TVALUE value) { if (key == null) { throw new ArgumentException("Null key is not allowed."); } var sortKey = new SortedDictionaryKey(_SortFunc(value), key); _InternalDict.Add(key, value); _SortedKeys.Add(sortKey, key); _SortedValues.Add(sortKey, value); }