为什么数组初始化器只允许用于数组?

时间:2010-03-01 20:38:01

标签: vb.net arrays collections

  

可能重复:
  Collection initialization syntax in Visual Basic 2008?

这不会编译。

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

这样做

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

IMO应该允许所有集合类型使用此功能,而不仅仅是数组。

2 个答案:

答案 0 :(得分: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)。

答案 1 :(得分:3)

微软同意你的意见。从VB,VB 2010的下一个版本开始支持它。请参阅此问题:Collection initialization syntax in VB 2008?

MSDN:What's New in Visual Basic 2010?