¿Es posible crear una tabla hash "pre-poblada" con valores?Crear una tabla hash con valores en VB.NET
Es decir, algo así como:
dim myHash as new Hashtable() = {"key1", "value1", "key2", "value2" }
¿Es posible crear una tabla hash "pre-poblada" con valores?Crear una tabla hash con valores en VB.NET
Es decir, algo así como:
dim myHash as new Hashtable() = {"key1", "value1", "key2", "value2" }
En primer lugar, Hashtable de edad son ahora. Use un Dictionary(Of TKey, TValue)
en su lugar. En cuanto a su pregunta, con Visual Studio 2010 puede utilizar la nueva sintaxis collection initializer:
Dim myDict As New Dictionary(Of Integer, String) From {{1, "One"}, {2, "Two"}}
Ya que estás en .NET 2.0, no puede utilizar la sintaxis (que puede y debe seguir utilizando un diccionario genérico), y así que lo mejor está utilizando un método de ocultarlo:
Function CreateDictionary() As Dictionary(Of Integer, String)
Dim d As New Dictionary(Of Integer, String)
d.Add(1, "One")
d.Add(2, "Two")
Return d
End Function
Dim myDict As Dictionary(Of Integer, String) = CreateDictionary()
La forma más sencilla de lograr esto es factorizar el código a cabo en una función
Function CreateHashtable() As Hashtable
Dim table = new HashTable()
table.Add("key1", "value1")
table.Add("key2", "value2")
return table
End Function
Dim myHash As Hashtable = CreateHashtable()
Dim myHash As New Hashtable() From {
{"key1", "value1"}, {"key2", "value2"}
}
¿Podría agregar algo de texto sobre por qué funciona esto? – nikaltipar
explicación por favor – Muhammed
Lamentablemente, esto no parece funcionar en .net 2.0 – chris
@ Chris - he actualizado su pregunta para incluir esa restricción. Si necesita una versión particular del marco, incluya esa información en el futuro. Actualizaré mi respuesta también, pero será similar a la de Jared ahora. –