private DualDictionary( Dictionary <TKey, TValue> keyToValue, Dictionary <TValue, TKey> valueToKey, IEqualityComparer <TKey> keyComparer, IEqualityComparer <TValue> valueComparer, DualDictionary <TValue, TKey> inverse) : this( keyToValue, valueToKey, keyComparer, valueComparer) { Inverse = inverse; }
public DualDictionary( IEnumerable <KeyValuePair <TKey, TValue> > source, IEqualityComparer <TKey> keyComparer, IEqualityComparer <TValue> valueComparer) : this( keyComparer, valueComparer) { foreach (var kvp in source) { keyToValue.Add(kvp.Key, kvp.Value); valueToKey.Add(kvp.Value, kvp.Key); } Inverse = new DualDictionary <TValue, TKey>(valueToKey, keyToValue, valueComparer, this.KeyComparer, this); }
internal KeyProxy(DualDictionary <TKey, TValue> dict) { this.dict = dict; }