变量初始化行在VB.Net中做了什么?

时间:2015-10-06 18:34:36

标签: vb.net variable-initialization

有人可以告诉VB.Net的以下行正在初始化:

Dim x As SomeType() = New SomeType(0) {}

什么包含x变量?它是一个阵列吗?例如,如何将其转换为C#?

我猜SomeType可能是一个匿名类型,但仍然没有线索......

2 个答案:

答案 0 :(得分:1)

该行:

Dim x As SomeType() = New SomeType(0) {}

声明一个SomeType个对象数组,它可以容纳SomeType的一个实例。

声明对象数组时,传递给构造函数的值是数组的 max index 。因此,此声明基本上声明了一个长度为1的数组。该行的{}部分是您可以定义应存储在数组中的值的位置。如果您要将SomeType更改为integer,则可以实例化并填充数组:

Dim intArray as Integer() = New Integer(0) {7}

这将使intArray变量中存储的第一个实例的值为7

SomeType不是匿名类型。 SomeType将是一个必须在您的应用中的某个位置定义的类。

在C#中,我认为sytax看起来像:

SomeType[] x = new SomeType[0];

我不确定如何在C#中完成VB.NET行的{}部分。

答案 1 :(得分:0)

它只是声明和初始化给定类型的数组。在C#中,我认为它会非常相似:

SomeType[] x = new SomeType[0] { };
  

是阵列吗?

是。 VB使用()代替数组而不是C#的[]

  

我猜SomeType可能是一个匿名类型

不,它是一个定义的静态类型,与其他类似。