vb.net dictionary c#-to-vb.net

¿Cómo insertar valores en el diccionario VB.NET en creación de instancias?



dictionary c#-to-vb.net (3)

¿Hay alguna forma de que pueda insertar valores en un diccionario VB.NET cuando lo creo? Puedo, pero no quiero, hacer dict.Add (int, "cadena") para cada elemento.

Básicamente, quiero hacer "¿Cómo insertar valores en C # Dictionary en instanciación?" con VB.NET.

var dictionary = new Dictionary<int, string> { {0, "string"}, {1, "string2"}, {2, "string3"} };



Lo que estás viendo es una función de C # llamada "inicializadores de colecciones". La característica también existía para VB, pero se cortó antes del lanzamiento de Visual Studio 2008. No le sirve de nada en este momento, pero se espera que esté disponible en Visual Studio 2010. Mientras tanto, tendrá que hacerlo. hazlo a la vieja usanza: llama al método .Add() de tu nueva instancia.


Si usa Visual Studio 2010 o posterior, debe usar la palabra clave FROM como esta:

Dim days = New Dictionary(Of Integer, String) From {{0, "string"}, {1, "string2"}}

Ver: http://msdn.microsoft.com/en-us/library/dd293617(VS.100).aspx

Si necesita usar una versión anterior de Visual Studio y necesita hacer esto con frecuencia, puede heredar de la clase Dictionary e implementarla usted mismo.

Puede parecerse a esto:

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