2011-08-18 74 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

相关问题