Dictionary(TKey, TValue) Constructor (Int32, IEqualityComparer(TKey))
Assembly: mscorlib (in mscorlib.dll)
- Type: System.Int32
The initial number of elements that the Dictionary(TKey, TValue) can contain.
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.
The capacity of a Dictionary(TKey, TValue) is the number of elements that can be added to the Dictionary(TKey, TValue) before resizing is necessary. As elements are added to a Dictionary(TKey, TValue), the capacity is automatically increased as required by reallocating the internal array.
If the size of the collection can be estimated, specifying the initial capacity eliminates the need to perform a number of resizing operations while adding elements to the Dictionary(TKey, TValue).
Dictionary(TKey, TValue) requires an equality implementation to determine whether keys are equal. If comparer is a null reference (Nothing in Visual Basic), 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.
This constructor is an O(1) operation.
The following code example creates a Dictionary(TKey, TValue) with an initial capacity of 5 and 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.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0
.NET Framework Client ProfileSupported in: 4, 3.5 SP1
Portable Class LibrarySupported in: Portable Class Library
.NET for Windows Store appsSupported in: Windows 8
.NET for Windows Phone appsSupported in: Windows Phone 8.1, Windows Phone 8, Silverlight 8.1
Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.