2011-03-09 154 views
12

我试图存储一组对象,我需要能够根据对象的特定属性在常量时间内访问它们。我希望通过将对象添加到HashMap并使用我想索引的属性作为关键来实现此目的。在VB中是否存在像Java一样的HashMap对象,还是应该使用其他的东西?VB.NET HashMap等价物

更新:使用VB 2010,.NET 4

干杯

回答

17

根据您的需求,您可以使用一个HashTableDictionary

这样的:

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) 

看一看thisthis更多的应用实例。

UPDATE

但是,正如@Konrad鲁道夫说,它能够更好地使用Dictionary多个reasons。 (在.NET 2.0和obove上)

感谢您的评论!

+5

**从不**使用'HashTable',它已被弃用。 'Dictionary'是一个完整的替代品,更高效且类型安全。 – 2011-03-09 11:32:56

+0

@Konrad asker没有说什么.NET版本被使用;这是可能的(虽然不太可能),它是2.0之前 – AakashM 2011-03-09 11:48:57

+0

@AakashM然后答案应该至少反映这一点。就目前而言,答案将它们列为平等的选择(不幸的是,MSDN也没有明确这一点)。正如你所说,这实际上不太可能。 – 2011-03-09 11:51:24