【问题标题】:Why are array initializers only allowed for arrays? [duplicate]为什么数组初始化器只允许用于数组? [复制]
【发布时间】:2011-01-22 11:14:39
【问题描述】:

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

这不会编译。

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

这样

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

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

【问题讨论】:

  • 无法在 VB.NET 中完成。 C# 确实有 'var k = new List {"1", "2", "3"};'但在 VB.NET 中没有直接的等价物。

标签: vb.net arrays collections


【解决方案1】:

您不能在当前版本的 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)。

【讨论】:

    【解决方案2】:

    Microsoft 同意您的看法。从 VB 的下一个版本 VB 2010 开始支持它。请参阅此问题:Collection initialization syntax in VB 2008?

    MSDN:What's New in Visual Basic 2010?

    【讨论】:

      猜你喜欢
      • 2020-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多