Class LookupDictionary<K, T>
Look-up dictionary.
public class LookupDictionary<K, T> : IReadOnlyDictionary<K, T>, IReadOnlyCollection<KeyValuePair<K, T>>, IEnumerable<KeyValuePair<K, T>>, IEnumerable where K : notnull
Type Parameters
KT
- Inheritance
-
LookupDictionary<K, T>
- Implements
-
IReadOnlyDictionary<K, T>IReadOnlyCollection<KeyValuePair<K, T>>IEnumerable<KeyValuePair<K, T>>
- Inherited Members
- Extension Methods
Remarks
Reading by looking-up an entry does not mutate the dictionary.
Constructors
LookupDictionary()
Default ctor.
public LookupDictionary()
LookupDictionary(IDictionary<K, T>, Func<K, T>)
Ctor from dict and defaultValue delegate.
public LookupDictionary(IDictionary<K, T> dict, Func<K, T> defaultValue)
Parameters
dictIDictionary<K, T>defaultValueFunc<K, T>
LookupDictionary(IEnumerable<KeyValuePair<K, T>>, Func<K, T>)
Ctor from entries and defaultValue delegate.
public LookupDictionary(IEnumerable<KeyValuePair<K, T>> entries, Func<K, T> defaultValue)
Parameters
entriesIEnumerable<KeyValuePair<K, T>>defaultValueFunc<K, T>
LookupDictionary(IEnumerable<KeyValuePair<K, T>>, Func<K, T>, IEqualityComparer<K>)
Ctor from entries and defaultValue delegate and comp.
public LookupDictionary(IEnumerable<KeyValuePair<K, T>> entries, Func<K, T> defaultValue, IEqualityComparer<K> comp)
Parameters
entriesIEnumerable<KeyValuePair<K, T>>defaultValueFunc<K, T>compIEqualityComparer<K>
LookupDictionary(IEqualityComparer<K>)
Ctor from comp.
public LookupDictionary(IEqualityComparer<K> comp)
Parameters
compIEqualityComparer<K>
LookupDictionary(Func<K, T>)
Ctor from defaultValue delegate.
public LookupDictionary(Func<K, T> defaultValue)
Parameters
defaultValueFunc<K, T>
LookupDictionary(Func<K, T>, IEqualityComparer<K>)
Ctor from defaultValue delegate and comp.
public LookupDictionary(Func<K, T> defaultValue, IEqualityComparer<K> comp)
Parameters
defaultValueFunc<K, T>compIEqualityComparer<K>
Fields
dict
look-up dictionary.
protected IDictionary<K, T> dict
Field Value
- IDictionary<K, T>
Properties
Count
public int Count { get; }
Property Value
this[K]
public T this[K key] { get; set; }
Parameters
keyK
Property Value
- T
Keys
public IEnumerable<K> Keys { get; }
Property Value
- IEnumerable<K>
Values
public IEnumerable<T> Values { get; }
Property Value
- IEnumerable<T>
Methods
ContainsKey(K)
public bool ContainsKey(K key)
Parameters
keyK
Returns
GetEnumerator()
public IEnumerator<KeyValuePair<K, T>> GetEnumerator()
Returns
- IEnumerator<KeyValuePair<K, T>>
GetOrAdd(K)
Adds a new value for key by using the defaultValue delegate specified with the ctor if the key does not already exist.
public T GetOrAdd(K key)
Parameters
keyK
Returns
- T
The new value, or the exisitng value if the
keyexists.
TryGetValue(K, out T)
public bool TryGetValue(K key, out T value)
Parameters
keyKvalueT
Returns
Explicit Interface Implementations
IEnumerable.GetEnumerator()
IEnumerator IEnumerable.GetEnumerator()