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
K
T
- 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
dict
IDictionary<K, T>defaultValue
Func<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
entries
IEnumerable<KeyValuePair<K, T>>defaultValue
Func<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
entries
IEnumerable<KeyValuePair<K, T>>defaultValue
Func<K, T>comp
IEqualityComparer<K>
LookupDictionary(IEqualityComparer<K>)
Ctor from comp
.
public LookupDictionary(IEqualityComparer<K> comp)
Parameters
comp
IEqualityComparer<K>
LookupDictionary(Func<K, T>)
Ctor from defaultValue
delegate.
public LookupDictionary(Func<K, T> defaultValue)
Parameters
defaultValue
Func<K, T>
LookupDictionary(Func<K, T>, IEqualityComparer<K>)
Ctor from defaultValue
delegate and comp
.
public LookupDictionary(Func<K, T> defaultValue, IEqualityComparer<K> comp)
Parameters
defaultValue
Func<K, T>comp
IEqualityComparer<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
key
K
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
key
K
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
key
K
Returns
- T
The new value, or the exisitng value if the
key
exists.
TryGetValue(K, out T)
public bool TryGetValue(K key, out T value)
Parameters
key
Kvalue
T
Returns
Explicit Interface Implementations
IEnumerable.GetEnumerator()
IEnumerator IEnumerable.GetEnumerator()