VB.NET 的 HashMap 相当于什么?

16

我正在尝试存储一组对象,并且需要根据对象的某个属性以常数时间访问它们。我希望通过将对象添加到哈希表中并使用我想要索引的属性作为键来实现这一点。在VB中是否有类似Java中的HashMap对象,或者我应该使用其他东西?

更新:使用VB 2010,.NET 4

干杯

1个回答

23

根据您的需要,您可以使用哈希表字典

Dim dictionary As New Dictionary(Of String, Integer)
dictionary.Add("Dot", 20)
dictionary.Add("Net", 1)
dictionary.Add("Perls", 10)
dictionary.Add("Visual", -1)

Dim Hashtable As New Hashtable()
hashtable.Add("Area", 1000)
hashtable.Add("Perimeter", 55)
hashtable.Add("Mortgage", 540)

请查看这里这里以获取更多使用示例。

更新:

但正如@Konrad Rudolph所说, 出于多个原因, 最好使用Dictionary. (在 .NET 2.0 及以上版本)

感谢评论!


6
永远不要使用 HashTable,它已经被弃用了。Dictionary 是一个完整的替代品,更加高效并且类型安全。 - Konrad Rudolph
@Konrad提问者没有说明正在使用哪个.NET版本;虽然可能性很小,但它可能是2.0之前的版本。 - AakashM
1
@AakashM 那么答案至少应该反映出这一点。目前为止,答案将它们列为相等的选择(不幸的是MSDN也没有澄清这一点)。正如你所说,这实际上是相当不可能的。 - Konrad Rudolph
谢谢。我正在使用VB 2010。 - Andrew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接