Dictionary(Of TKey, TValue) Constructor ()

 

Initializes a new instance of the Dictionary(Of TKey, TValue) 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)

Public Sub New

Every key in a Dictionary(Of TKey, TValue) must be unique according to the default equality comparer.

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

System_CAPS_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(Of TKey, TValue).

This constructor is an O(1) operation.

The following code example creates an empty Dictionary(Of TKey, TValue) 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(Of TKey, TValue) class.

' 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

Universal Windows Platform
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
Return to top
Show: