Click or drag to resize

MultiValueDictionaryTKey, TValue Class

Extension to the normal Dictionary. This class can store more than one value for every key. It keeps a HashSet for every Key value. Calling Add with the same Key and multiple values will store each value under the same Key in the Dictionary. Obtaining the values for a Key will return the HashSet with the Values of the Key. It can also merge with other instances of MultiValueDictionary, as long as the TKey and TValue types are equal.
Inheritance Hierarchy
SystemObject
  System.Collections.GenericDictionaryTKey, HashSetTValue
    SD.LLBLGen.Pro.ORMSupportClassesMultiValueDictionaryTKey, TValue

Namespace:  SD.LLBLGen.Pro.ORMSupportClasses
Assembly:  SD.LLBLGen.Pro.ORMSupportClasses (in SD.LLBLGen.Pro.ORMSupportClasses.dll) Version: 5.12.0.0 (5.12.0)
Syntax
[SerializableAttribute]
public class MultiValueDictionary<TKey, TValue> : Dictionary<TKey, HashSet<TValue>>

Type Parameters

TKey
The type of the key.
TValue
The type of the value.

The MultiValueDictionaryTKey, TValue type exposes the following members.

Constructors
  NameDescription
Public methodMultiValueDictionaryTKey, TValue
Initializes a new instance of the MultiValueDictionaryTKey, TValue class.
Public methodMultiValueDictionaryTKey, TValue(IEqualityComparerTValue)
Initializes a new instance of the MultiValueDictionaryTKey, TValue class.
Protected methodMultiValueDictionaryTKey, TValue(SerializationInfo, StreamingContext)
Initializes a new instance of the MultiValueDictionaryTKey, TValue class.
Top
Properties
  NameDescription
Public propertyComparer
Gets the IEqualityComparerT that is used to determine equality of keys for the dictionary.
(Inherited from DictionaryTKey, HashSetTValue.)
Public propertyCount
Gets the number of key/value pairs contained in the DictionaryTKey, TValue.
(Inherited from DictionaryTKey, HashSetTValue.)
Public propertyItem
Gets or sets the value associated with the specified key.
(Inherited from DictionaryTKey, HashSetTValue.)
Public propertyKeys
Gets a collection containing the keys in the DictionaryTKey, TValue.
(Inherited from DictionaryTKey, HashSetTValue.)
Public propertyValues
Gets a collection containing the values in the DictionaryTKey, TValue.
(Inherited from DictionaryTKey, HashSetTValue.)
Top
Methods
  NameDescription
Public methodAdd(TKey, TValue)
Adds the specified key and value to the dictionary.
(Inherited from DictionaryTKey, HashSetTValue.)
Public methodAdd(TKey, TValue)
Adds the specified value under the specified key
Public methodAddRange
Adds the range of values under the key specified.
Public methodClear
Removes all keys and values from the DictionaryTKey, TValue.
(Inherited from DictionaryTKey, HashSetTValue.)
Public methodContainsKey
Determines whether the DictionaryTKey, TValue contains the specified key.
(Inherited from DictionaryTKey, HashSetTValue.)
Public methodContainsValue(TValue)
Determines whether the DictionaryTKey, TValue contains a specific value.
(Inherited from DictionaryTKey, HashSetTValue.)
Public methodContainsValue(TKey, TValue)
Determines whether this dictionary contains the specified value for the specified key
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetEnumerator
Returns an enumerator that iterates through the DictionaryTKey, TValue.
(Inherited from DictionaryTKey, HashSetTValue.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetObjectData
Gets the object data.
(Overrides DictionaryTKey, TValueGetObjectData(SerializationInfo, StreamingContext).)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetValues
Gets the values for the key specified. This method is useful if you want to avoid an exception for key value retrieval and you can't use TryGetValue (e.g. in lambdas)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodMerge
Merges the specified multivaluedictionary into this instance.
Public methodOnDeserialization
Implements the ISerializable interface and raises the deserialization event when the deserialization is complete.
(Inherited from DictionaryTKey, HashSetTValue.)
Public methodRemove(TKey)
Removes the value with the specified key from the DictionaryTKey, TValue.
(Inherited from DictionaryTKey, HashSetTValue.)
Public methodRemove(TKey, TValue)
Removes the specified value for the specified key. It will leave the key in the dictionary.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodTryGetValue
Gets the value associated with the specified key.
(Inherited from DictionaryTKey, HashSetTValue.)
Top
Explicit Interface Implementations
  NameDescription
Explicit interface implementationPrivate methodICollectionKeyValuePairTKey, TValueAdd
Adds the specified value to the ICollectionT with the specified key.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate methodIDictionaryAdd
Adds the specified key and value to the dictionary.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate methodICollectionKeyValuePairTKey, TValueContains
Determines whether the ICollectionT contains a specific key and value.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate methodIDictionaryContains
Determines whether the IDictionary contains an element with the specified key.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate methodICollectionKeyValuePairTKey, TValueCopyTo
Copies the elements of the ICollectionT to an array of type KeyValuePairTKey, TValue, starting at the specified array index.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate methodICollectionCopyTo
Copies the elements of the ICollectionT to an array, starting at the specified array index.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate methodIEnumerableKeyValuePairTKey, TValueGetEnumerator
Returns an enumerator that iterates through the collection.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate methodIEnumerableGetEnumerator
Returns an enumerator that iterates through the collection.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate methodIDictionaryGetEnumerator
Returns an IDictionaryEnumerator for the IDictionary.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate propertyIDictionaryIsFixedSize
Gets a value indicating whether the IDictionary has a fixed size.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate propertyICollectionKeyValuePairTKey, TValueIsReadOnly
Gets a value indicating whether the dictionary is read-only.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate propertyIDictionaryIsReadOnly
Gets a value indicating whether the IDictionary is read-only.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate propertyICollectionIsSynchronized
Gets a value indicating whether access to the ICollection is synchronized (thread safe).
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate propertyIDictionaryItem
Gets or sets the value with the specified key.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate propertyIDictionaryTKey, TValueKeys
Gets an ICollectionT containing the keys of the IDictionaryTKey, TValue.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate propertyIReadOnlyDictionaryTKey, TValueKeys
Gets a collection containing the keys of the IReadOnlyDictionaryTKey, TValue.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate propertyIDictionaryKeys
Gets an ICollection containing the keys of the IDictionary.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate methodICollectionKeyValuePairTKey, TValueRemove
Removes a key and value from the dictionary.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate methodIDictionaryRemove
Removes the element with the specified key from the IDictionary.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate propertyICollectionSyncRoot
Gets an object that can be used to synchronize access to the ICollection.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate propertyIDictionaryTKey, TValueValues
Gets an ICollectionT containing the values in the IDictionaryTKey, TValue.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate propertyIReadOnlyDictionaryTKey, TValueValues
Gets a collection containing the values of the IReadOnlyDictionaryTKey, TValue.
(Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate propertyIDictionaryValues
Gets an ICollection containing the values in the IDictionary.
(Inherited from DictionaryTKey, HashSetTValue.)
Top
See Also