在VB ASP.NET中使用泛型创建多维哈希表?

时间:2020-03-06 14:43:33  来源:igfitidea点击:

我需要创建一个多维(嵌套)哈希表/字典,以便可以使用如下语法

val = myHash("Key").("key")

我知道我需要使用泛型,但是我无法在ASP.NET 2.0中使用VB找出正确的语法,网络上有很多cexamples,但它们并没有太大帮助。

干杯!

解决方案

好的,我在Cthan vb.net上要好一些,但是我会努力的...。

Dim myHash as Dictionary(Of string, Dictionary(Of string, Integer));

还有System.Collections.Specialized.StringDictionary(Of T)集合,它只是一个预定义的Dictionary(Of String,T)。

使用普通Dictionary或者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)