2011-03-09 165 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