有人可以告诉VB.Net的以下行正在初始化什么:
Dim x As SomeType() = New SomeType(0) {}
什么保持x
变量?它是一个数组吗?例如,如何将其翻译为 C#?
我猜SomeType
可能是匿名类型,但仍然不知道......
有人可以告诉VB.Net的以下行正在初始化什么:
Dim x As SomeType() = New SomeType(0) {}
什么保持x
变量?它是一个数组吗?例如,如何将其翻译为 C#?
我猜SomeType
可能是匿名类型,但仍然不知道......
该行:
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 行的部分。
它只是声明和初始化给定类型的数组。在 C# 中,我认为它会非常相似:
SomeType[] x = new SomeType[0] { };
它是一个数组吗?
是的。VB()
用于数组而不是 C# 的[]
.
我猜 SomeType 可能是匿名类型
不,它是一个定义的静态类型,就像任何其他类型一样。