2010-03-01 33 views
5

可能重复:
Collection initialization syntax in Visual Basic 2008?为什么数组初始值设定项仅适用于数组?

这并不编译。

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

这确实

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

IMO这个功能应该允许所有的集合类型,而不仅仅是阵列。

+0

无法在VB.NET中完成。 C#确实有'var k = new列表 {“1”,“2”,“3”};'但在VB.NET中没有直接的等价物。 – 2010-03-01 20:42:42

回答

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)。

相关问题