Adding items to the List at creation time in VB.Ne

2019-04-19 12:16发布

问题:

In c# I can initialize a List at creation time like

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

is there a similar thing in VB.Net? Currently I can do it like

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

but I want to avoid boring .Add lines

回答1:

VB10 supports collection initializers. I believe your example would be:

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

MSDN has more information.



回答2:

You can also use AddRange if you don't want to put all of your items on a single line.

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


回答3:

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

Though if it's VB 2010 I'd definitely go with Jon Skeet's answer.