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.4.0.0 (5.4.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 (Inherited from DictionaryTKey, HashSetTValue.)
Public propertyCount (Inherited from DictionaryTKey, HashSetTValue.)
Public propertyItem
Gets or sets the value associated with the specified key.
(Inherited from DictionaryTKey, HashSetTValue.)
Public propertyKeys (Inherited from DictionaryTKey, HashSetTValue.)
Public propertyValues (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 (Inherited from DictionaryTKey, HashSetTValue.)
Public methodContainsKey (Inherited from DictionaryTKey, HashSetTValue.)
Public methodContainsValue(TValue) (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 (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) (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 (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 (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 (Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate methodICollectionCopyTo (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 (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 (Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate propertyIReadOnlyDictionaryTKey, TValueKeys (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 (Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate propertyIReadOnlyDictionaryTKey, TValueValues (Inherited from DictionaryTKey, HashSetTValue.)
Explicit interface implementationPrivate propertyIDictionaryValues
Gets an ICollection containing the values in the IDictionary.
(Inherited from DictionaryTKey, HashSetTValue.)
Top
See Also