Creazione di una tabella hash multidimensionale con generici in VB ASP.NET?
-
02-07-2019 - |
Domanda
Devo creare un dizionario / hashtable multidimensionale (nidificato) in modo da poter usare la sintassi come
val = myHash("Key").("key")
So che devo usare Generics ma non riesco a capire la sintassi corretta usando VB in ASP.NET 2.0, ci sono molti esempi di c # in rete ma non stanno aiutando molto.
Cheers!
Soluzione
OK, sto meglio su C # che su vb.net, ma ci proverò ....
Dim myHash as Dictionary(Of string, Dictionary(Of string, Integer));
Altri suggerimenti
Esiste anche la raccolta System.Collections.Specialized.StringDictionary (Of T), che è solo un dizionario predefinito (Of String, T).
E la sintassi per usare il normale Dizionario o StringDictionary sarebbe simile a questa:
val = myHash("key")("key")
Non in questo modo:
val = myHash("key").("key")
Considera che potresti aver solo bisogno di usare Dizionario e che può comporre le tue chiavi multiple in un singolo oggetto chiave con il suo codice hash composito. Per esempio. crea una classe multikey e poi usala come chiave.
in pseudocodice:
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)