Dictionary<TKey, TValue> Constructor (Int32)
Initializes a new instance of the Dictionary<TKey, TValue> class that is empty, has the specified initial capacity, and uses the default equality comparer for the key type.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- capacity
-
Type:
System.Int32
The initial number of elements that the Dictionary<TKey, TValue> can contain.
| Exception | Condition |
|---|---|
| ArgumentOutOfRangeException | capacity is less than 0. |
Every key in a Dictionary<TKey, TValue> must be unique according to the default equality 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. 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(1) operation.
The following code example creates a dictionary with an initial capacity of 4 and populates it with 4 entries.
using System; using System.Collections.Generic; public class Example { public static void Main() { // Create a new dictionary of strings, with string keys and // an initial capacity of 4. Dictionary<string, string> openWith = new Dictionary<string, string>(4); // Add 4 elements to the dictionary. openWith.Add("txt", "notepad.exe"); openWith.Add("bmp", "paint.exe"); openWith.Add("dib", "paint.exe"); openWith.Add("rtf", "wordpad.exe"); // List the contents of the dictionary. Console.WriteLine(); foreach( KeyValuePair<string, string> kvp in openWith ) { Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value); } } } /* This code example produces the following output: Key = txt, Value = notepad.exe Key = bmp, Value = paint.exe Key = dib, Value = paint.exe Key = rtf, Value = wordpad.exe */
Available since 8
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1