SortedDictionary(Of TKey, TValue) Constructor (IDictionary(Of 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 SortedDictionary(Of TKey, TValue) class that contains elements copied from the specified IDictionary(Of TKey, TValue) and uses the default IComparer(Of T) implementation for the key type.
Assembly: System (in System.dll)
Parameters
- dictionary
- Type: System.Collections.Generic.IDictionary(Of TKey, TValue)
The IDictionary(Of TKey, TValue) whose elements are copied to the new SortedDictionary(Of TKey, TValue).
| Exception | Condition |
|---|---|
| ArgumentNullException | dictionary is Nothing. |
| ArgumentException | dictionary contains one or more duplicate keys. |
Every key in a SortedDictionary(Of TKey, TValue) must be unique according to the default comparer; therefore, every key in the source dictionary must also be unique according to the default comparer.
SortedDictionary(Of TKey, TValue) requires a comparer implementation to perform key comparisons. This constructor uses the default generic equality comparer, Comparer(Of T).Default. If type TKey implements the System.IComparable(Of T) generic interface, the default comparer uses that implementation. Alternatively, you can specify an implementation of the IComparer(Of T) generic interface by using a constructor that accepts a comparer parameter.
This constructor is an O(n log n) operation, where n is the number of elements in dictionary.
The following code example shows how to use SortedDictionary(Of TKey, TValue) to create a sorted copy of the information in a Dictionary(Of TKey, TValue), by passing the Dictionary(Of TKey, TValue) to the SortedDictionary(Of TKey, TValue)(IComparer(Of TKey)) constructor.