Pregunta

Necesito crear una tabla hash / diccionario multidimensional (anidada) para poder usar una sintaxis como

val = myHash("Key").("key")

Sé que necesito usar Generics pero no puedo entender la sintaxis correcta usando VB en ASP.NET 2.0, hay muchos ejemplos de C # en la red pero no ayudan mucho.

¡Salud!

¿Fue útil?

Solución

Está bien, soy mejor en C # que en vb.net, pero lo intentaré ...

Dim myHash as Dictionary(Of string, Dictionary(Of string, Integer));

Otros consejos

También está la colección System.Collections.Specialized.StringDictionary (Of T), que es solo un diccionario predefinido (Of String, T).

Y la sintaxis para usar el Diccionario normal o el StringDictionary se vería así:

val = myHash("key")("key")

No como este:

val = myHash("key").("key")

Tenga en cuenta que es posible que solo necesite usar el Diccionario, y que puede componer sus múltiples claves en un único objeto de clave con su propio código hash compuesto. P.ej. Haz una clase de varias teclas y luego úsala como la clave.

en pseudocódigo:

class Multikey {
 private keys;
 public setKey1(...)
 public setKey2(...)
}
Dim myKey as MultiKey(...)
myKey.key1 = ...
myKey.key2 = ...

Dim mydic as Dictionary(Of MultiKey, Integer)

val = mydic(myKey)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top