代码之家  ›  专栏  ›  技术社区  ›  Adam Pope

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

  •  1
  • Adam Pope  · 技术社区  · 17 年前

    我需要创建一个多维(嵌套)哈希表/字典,这样我就可以使用类似

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

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

    干杯!

    3 回复  |  直到 17 年前
        1
  •  2
  •   James Curran    17 年前

    好吧,我比vb.net更擅长C,不过我还是试试看……

    Dim myHash as Dictionary(Of string, Dictionary(Of string, Integer));
    
        2
  •  0
  •   Joel Coehoorn    17 年前

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

    使用普通字典或字符串字典的语法如下:

    val = myHash("key")("key")
    

    不是这样的:

    val = myHash("key").("key")
    
        3
  •  0
  •   Josh    17 年前

    考虑到您可能只需要使用字典,它可以用自己的复合哈希代码将多个键组合成一个键对象。例如,创建一个多键类,然后将其用作键。

    在伪代码中:

    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)