2010-03-01 2 views
5

Можно создать дубликат:
Collection initialization syntax in Visual Basic 2008?Почему инициализаторы массива допускают только массивы?

Это не компилируется.

Dim Tom As New List(Of String) = {"Tom", "Tom2"} 

Это делает

Dim Tom As String() = {"Tom", "Tom2"} 

ИМО это особенности должны быть разрешены для всех типов коллекций, а не только массивы.

+0

Невозможно сделать в VB.NET. C# имеет «var k = новый список {« 1 »,« 2 »,« 3 »}; но нет прямого эквивалента в VB.NET. –

ответ

4

Вы не можете сделать это в текущей версии Visual Basic, но в следующей версии в Visual Studio 2010 позволяет синтаксис:

Dim Tom As List(Of String) = new List(Of String) From {"Tom", "Tom2"} 

Он использует new From keyword.

С другой стороны, C# содержит синтаксис инициализатора своей коллекции в Visual Studio 2008. Вы можете прочитать об этом Object and Collection Initializers (C# Programming Guide) (MSDN).

Смежные вопросы