Dictionary Constructor () (System.Collections.Generic)

Switch View :
ScriptFree
Dictionary.Dictionary() Constructor
Initializes a new instance of the Dictionary class that is empty, has the default initial capacity, and uses the default equality comparer for the key type.

Namespace: System.Collections.Generic
Assembly: mscorlib (in mscorlib.dll)

Syntax

Visual Basic (Declaration)
Public Sub New
Visual Basic (Usage)
Dim instance As New Dictionary(Of TKey, TValue)
C#
public Dictionary ()
C++
public:
Dictionary ()
J#
public Dictionary ()
JScript
public function Dictionary ()
XAML
Not applicable.
Remarks

Every key in a Dictionary must be unique according to the default equality comparer.

Dictionary requires an equality implementation to determine whether keys are equal. This constructor uses the default generic equality comparer, EqualityComparer.Default. If type TKey implements the System.IEquatable generic interface, the default equality comparer uses that implementation. Alternatively, you can specify an implementation of the IEqualityComparer generic interface by using a constructor that accepts a comparer parameter.

NoteNote:

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.

This constructor is an O(1) operation.

Example

The following code example creates an empty Dictionary of strings with string keys and uses the Add method to add some elements. The example demonstrates that the Add method throws an ArgumentException when attempting to add a duplicate key.

This code example is part of a larger example provided for the Dictionary class.

Visual Basic
' Create a new dictionary of strings, with string keys.
'
Dim openWith As New Dictionary(Of String, String)

' Add some elements to the dictionary. There are no 
' duplicate keys, but some of the values are duplicates.
openWith.Add("txt", "notepad.exe")
openWith.Add("bmp", "paint.exe")
openWith.Add("dib", "paint.exe")
openWith.Add("rtf", "wordpad.exe")

' The Add method throws an exception if the new key is 
' already in the dictionary.
Try
    openWith.Add("txt", "winword.exe")
Catch 
    Console.WriteLine("An element with Key = ""txt"" already exists.")
End Try

C#
// Create a new dictionary of strings, with string keys.
//
Dictionary<string, string> openWith = 
    new Dictionary<string, string>();

// Add some elements to the dictionary. There are no 
// duplicate keys, but some of the values are duplicates.
openWith.Add("txt", "notepad.exe");
openWith.Add("bmp", "paint.exe");
openWith.Add("dib", "paint.exe");
openWith.Add("rtf", "wordpad.exe");

// The Add method throws an exception if the new key is 
// already in the dictionary.
try
{
    openWith.Add("txt", "winword.exe");
}
catch (ArgumentException)
{
    Console.WriteLine("An element with Key = \"txt\" already exists.");
}

Platforms

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

Version Information

.NET Framework

Supported in: 3.0, 2.0

.NET Compact Framework

Supported in: 2.0

XNA Framework

Supported in: 1.0
See Also

Community Content

LukePuplett
How to: Initialize a Dictionary with a Collection Initializer