Создание многомерной хэш-таблицы с использованием обобщений в VB ASP.NET ?
-
02-07-2019 - |
Вопрос
Мне нужно создать многомерную (вложенную) хэш-таблицу / словарь, чтобы я мог использовать такой синтаксис, как
val = myHash("Key").("key")
Я знаю, что мне нужно использовать Generics, но я не могу определить правильный синтаксис, используя VB в ASP.NET 2.0, в сети есть множество примеров c #, но они не очень помогают.
Ваше здоровье!
Решение
Ладно, я лучше разбираюсь в C #, чем vb.net, но я попробую....
Dim myHash as Dictionary(Of string, Dictionary(Of string, Integer));
Другие советы
Есть еще Система.Коллекции.Специализированный.Коллекция StringDictionary (Of T), которая является просто предопределенным словарем (Of String, T).
И синтаксис для использования либо обычного словаря, либо StringDictionary будет выглядеть следующим образом:
val = myHash("key")("key")
Не так , как это:
val = myHash("key").("key")
Учтите, что вам может понадобиться использовать только Dictionary , и это может объединить ваши несколько ключей в один ключевой объект со своим собственным составным хэш-кодом.Например.создайте многоключевой класс, а затем используйте его в качестве ключа.
в псевдокоде:
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)