Dictionary<TKey, TValue> Constructor (IDictionary<TKey, TValue>)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Initializes a new instance of the Dictionary<TKey, TValue> class that contains elements copied from the specified IDictionary<TKey, TValue> and uses the default equality comparer for the key type.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- dictionary
- Type: System.Collections.Generic.IDictionary<TKey, TValue>
The IDictionary<TKey, TValue> whose elements are copied to the new Dictionary<TKey, TValue>.
| Exception | Condition |
|---|---|
| ArgumentNullException | dictionary is null. |
| ArgumentException | dictionary contains one or more duplicate keys. |
Every key in a Dictionary<TKey, TValue> must be unique according to the default equality comparer; likewise, every key in the source dictionary must also be unique according to the default equality comparer.
The initial capacity of the new Dictionary<TKey, TValue> is large enough to contain all the elements in dictionary.
Dictionary<TKey, TValue> requires an equality implementation to determine whether keys are equal. This constructor uses the default generic equality comparer, EqualityComparer<T>.Default. If type TKey implements the System.IEquatable<T> generic interface, the default equality comparer uses that implementation. Alternatively, you can specify an implementation of the IEqualityComparer<T> generic interface by using a constructor that accepts a comparer parameter.
This constructor is an O(n) operation, where n is the number of elements in dictionary.