有人可以告诉VB.Net的以下行正在初始化:
Dim x As SomeType() = New SomeType(0) {}
什么包含x
变量?它是一个阵列吗?例如,如何将其转换为C#?
我猜SomeType
可能是一个匿名类型,但仍然没有线索......
答案 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可能是一个匿名类型
不,它是一个定义的静态类型,与其他类似。