Erstellen eines mehrdimensionalen Hash-Tabelle mit Generika in VB ASP.NET?
-
02-07-2019 - |
Frage
Ich brauche eine mehrdimensionale (verschachteltes) hashtable / Wörterbuch zu erstellen, so dass ich Syntax wie
verwenden kann,val = myHash("Key").("key")
Ich weiß, ich brauche Generics zu verwenden, aber ich kann die korrekte Syntax VB in ASP.NET nicht herausfinden, 2.0, es gibt viele c # Beispiele im Netz ist, aber sie helfen nicht viel.
Cheers!
Lösung
OK, ich bin besser in C # als vb.net, aber ich gebe dies ein gehen ....
Dim myHash as Dictionary(Of string, Dictionary(Of string, Integer));
Andere Tipps
Es gibt auch die System.Collections.Specialized.StringDictionary (Of T) Sammlung, die nur eine vordefinierte Wörterbuch ist (String, T).
Und die Syntax entweder den normalen Wörterbuch zu verwenden oder der String würde wie folgt aussehen:
val = myHash("key")("key")
Nicht so:
val = myHash("key").("key")
Beachten Sie, dass Sie nur Wörterbuch verwenden müssen, und das kann Ihre mehrere Schlüssel in einem einzigen Schlüssel-Objekt mit einem eigenen Verbund Hash-Code zusammenstellen. Z.B. macht eine Multi_key Klasse und es dann als Schlüssel verwendet werden.
in Pseudo-Code:
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)