2011-08-18 72 views
7

我是一個PHP的傢伙,和PHP中我會做類似如下:什麼是在VB.NET中創建關聯數組的正確方法?

$variable = array('0001'=>'value1', '0010'=>'value2'); 

我是很新,VB.NET,所以我怎麼翻譯上面的代碼VB.NET?

我想我必須使用的字典:

Dim variable As New Dictionary(Of String, String) 
variable.Add("0001", "value1") 
variable.Add("0010", "value2") 

這是做還是我應該使用這個別的東西的正確方法是什麼?

回答

14

這是一種方式,或者如果你喜歡初始化一個一行的方式,你可以這樣做:

Dim variable As New Dictionary(Of String, String) From { {"0001", "value1"}, {"0010", "value2"} } 

至於哪個是更好的一個,它更編碼標準的問題,和/或個人喜好。

考慮使用什麼樣的容器,除非你被強迫,否則你應該只使用System.Collection.Generics.NET。 Dictionary是默認的關聯容器。你可以看到替代品(例如SortedDictionary),如果它更符合你的用例。

+0

任何替代單線或linq版本? – Smith

0

您可以使用收藏

Dim var As New Collection 
var.Add("vakue1", "0001") 
var.Add("value2", "0010") 

遍歷所有有:

For Each v As String In var 

Next 

對於治療項目的其他方法,看樣品中Collection(Of T) ClassMSDN)。

+0

使用集合比使用字典有什麼優勢? – PeeHaa

+4

@PeeHaa字典是通用的,所以字典更好。集合是較老的類,通常不推薦用於新代碼。 – MarkJ

+0

但它有方法,在字典中缺少 – Martin

相關問題