Shaddix
Shaddix

Reputation: 6109

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

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

Upvotes: 15

Views: 23378

Answers (3)

Hans Olsson
Hans Olsson

Reputation: 55009

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.

Upvotes: 2

John
John

Reputation: 1338

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"})

Upvotes: 4

Jon Skeet
Jon Skeet

Reputation: 1500735

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.

Upvotes: 20

Related Questions