Is there a way that I can insert values into a VB.NET Dictionary when I create it? I can, but don't want to, do dict.Add(int, "string") for each item.
Basically, I want to do "How to insert values into C# Dictionary on instantiation?" with VB.NET.
var dictionary = new Dictionary<int, string>
{
{0, "string"},
{1, "string2"},
{2, "string3"}
};
If using Visual Studio 2010 or later you should use the FROM
keyword like this:
Dim days = New Dictionary(Of Integer, String) From {{0, "string"}, {1, "string2"}}
See: http://msdn.microsoft.com/en-us/library/dd293617(VS.100).aspx
If you need to use a prior version of Visual Studio and you need to do this frequently you could just inherit from the Dictionary class and implement it yourself.
It might look something like this:
Public Class InitializableDictionary
Inherits Dictionary(Of Int32, String)
Public Sub New(ByVal args() As KeyValuePair(Of Int32, String))
MyBase.New()
For Each kvp As KeyValuePair(Of Int32, String) In args
Me.Add(kvp.Key, kvp.Value)
Next
End Sub
End Class