Criando um hashtable multidimensional com os genéricos em VB ASP.NET?
-
02-07-2019 - |
Pergunta
Eu preciso criar um multi-dimensional (aninhado) hashtable / dicionário para que eu possa usar sintaxe como
val = myHash("Key").("key")
Eu sei que eu preciso usar Generics, mas eu não consigo descobrir a sintaxe correta usando VB no ASP.NET 2.0, há uma abundância de exemplos c # na net, mas eles não estão ajudando muito.
Felicidades!
Solução
OK, eu sou melhor em C # que vb.net, mas vou dar um presente ir ....
Dim myHash as Dictionary(Of string, Dictionary(Of string, Integer));
Outras dicas
Há também a System.Collections.Specialized.StringDictionary (Of T) coleção, que é apenas um dicionário pré-definidos (Of String, T).
E a sintaxe para usar o dicionário normal ou o StringDictionary ficaria assim:
val = myHash("key")("key")
Não assim:
val = myHash("key").("key")
Considere que você pode precisar apenas de usar dicionário, e que pode compor suas várias chaves em um único objeto chave com o seu próprio código de hash composta. Por exemplo. fazer uma classe multikey e usá-lo como a chave.
em 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)