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!

È stato utile?

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)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top