0

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

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

什么保持x变量?它是一个数组吗?例如,如何将其翻译为 C#?

我猜SomeType可能是匿名类型,但仍然不知道......

4

2 回答 2

1

该行:

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

声明一个对象数组SomeType,其中可以包含一个SomeType.

声明对象数组时,传递给构造函数的值是数组的最大索引。所以这个声明基本上是声明一个长度为 1 的数组。{}该行的部分是您可以定义应该存储在数组中的值的地方。如果您要更改SomeType为,integer您可以实例化并填充您的数组,例如:

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

这会给存储在intArray变量中的第一个实例一个7.

SomeType不是匿名类型。SomeType将是一个必须在您的应用程序的某处定义的类。

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

SomeType[] x = new SomeType[0];

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

于 2015-10-06T18:46:36.587 回答
0

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

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

它是一个数组吗?

是的。VB()用于数组而不是 C# 的[].

我猜 SomeType 可能是匿名类型

不,它是一个定义的静态类型,就像任何其他类型一样。

于 2015-10-06T18:41:09.800 回答