2010-04-13 24 views
12

在創建時添加項目到列表在C#中,我可以在創建時像在VB.Net

var list = new List<String>() {"string1", "string2"}; 

有在VB.Net類似的事情初始化列表? 目前我能做到像

Dim list As New List(Of String) 
list.Add("string1") 
list.Add("string2") 
list.Add("string3") 

,但我想避免無聊。新增線路

回答

16

VB10 supports collection initializers。我相信你的例子是:

Dim list As New List(Of String) From { "string1", "string2", "string3" } 

MSDN has more information

+1

非常感謝! 這正是我需要的。不幸的是,它在VS2008中不起作用,所以它是切換到較新的VS的另一個原因。但無論如何,這是答案:這是不可能在VS2010之前 – Shaddix 2010-04-13 09:06:42

+2

不是不可能的,只是醜陋的。 – 2010-04-13 09:07:50

2
Dim a As New List(Of String)(New String() {"str1", "str2"}) 

雖然如果是VB 2010,我肯定會和Jon Skeet一起回答。

+0

謝謝!使用「From」更好,但它也是很好的解決方法 – Shaddix 2010-04-13 09:09:45

1

如果您不想將所有項目放在一行上,也可以使用AddRange。

Dim list As New List(Of String) From { "string1", "string2", "string3" } 
list.addRange({"string4", "string5", "string6"})