Dictionary(TKey, TValue) Constructor

Dictionary(Of TKey, TValue) Constructor

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

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)

'Declaration
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.

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
   outputBlock.Text &= "An element with Key = ""txt"" already exists." & vbCrLf
End Try


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft