Dictionary<TKey, TValue> Constructor (IEqualityComparer<TKey>)
Assembly: mscorlib (in mscorlib.dll)
Use this constructor with the case-insensitive string comparers provided by the StringComparer class to create dictionaries with case-insensitive string keys.
Every key in a Dictionary<TKey, TValue> must be unique according to the specified comparer.
Dictionary<TKey, TValue> requires an equality implementation to determine whether keys are equal. If comparer is nullptr, 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.
If you can estimate the size of the collection, using a constructor that specifies the initial capacity eliminates the need to perform a number of resizing operations while adding elements to the Dictionary<TKey, TValue>.
This constructor is an O(1) operation.
The following code example creates a Dictionary<TKey, TValue> with a case-insensitive equality comparer for the current culture. The example adds four elements, some with lower-case keys and some with upper-case keys. The example then attempts to add an element with a key that differs from an existing key only by case, catches the resulting exception, and displays an error message. Finally, the example displays the elements in the dictionary.
.NET FrameworkSupported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0
.NET Framework Client ProfileSupported in: 4, 3.5 SP1
XNA FrameworkSupported in: 3.0, 2.0, 1.0
Portable Class LibrarySupported in: Portable Class Library
Supported in: Windows Phone 8.1
Supported in: Windows Phone Silverlight 8.1
Supported in: Windows Phone Silverlight 8