VB.Net 中变量初始化行的作用是什么?
What does variable-initialization line do in VB.Net?
谁能告诉我以下 VB.Net 行正在初始化什么:
Dim x As SomeType() = New SomeType(0) {}
x
变量是什么?它是一个数组吗?例如,如何将其翻译成 C#?
我猜SomeType
可能是匿名类型,但仍然没有线索...
它只是声明和初始化给定类型的数组。在 C# 中,我认为它非常相似:
SomeType[] x = new SomeType[0] { };
Is it an array?
是的。 VB 对数组使用 ()
而不是 C# 的 []
.
I guess SomeType is probably an anonymous type
不,它和其他类型一样是定义好的静态类型。
行:
Dim x As SomeType() = New SomeType(0) {}
声明了一个 SomeType
对象数组,它可以容纳 SomeType
的一个实例。
当声明对象数组时,传递给构造函数的值是数组的最大索引。所以这个声明基本上是在声明一个长度为 1 的数组。该行的 {}
部分是您可以定义应存储在数组中的值的地方。如果您要将 SomeType
更改为 integer
,您可以像这样实例化并填充您的数组:
Dim intArray as Integer() = New Integer(0) {7}
这会给存储在 intArray
变量中的第一个实例赋值 7
。
SomeType
不是匿名类型。 SomeType
将是一个 class,必须在您的应用中的某处定义。
在 C# 中,我认为语法如下所示:
SomeType[] x = new SomeType[0];
我不确定您将如何在 C# 中完成 VB.NET 行的 {}
部分。
谁能告诉我以下 VB.Net 行正在初始化什么:
Dim x As SomeType() = New SomeType(0) {}
x
变量是什么?它是一个数组吗?例如,如何将其翻译成 C#?
我猜SomeType
可能是匿名类型,但仍然没有线索...
它只是声明和初始化给定类型的数组。在 C# 中,我认为它非常相似:
SomeType[] x = new SomeType[0] { };
Is it an array?
是的。 VB 对数组使用 ()
而不是 C# 的 []
.
I guess SomeType is probably an anonymous type
不,它和其他类型一样是定义好的静态类型。
行:
Dim x As SomeType() = New SomeType(0) {}
声明了一个 SomeType
对象数组,它可以容纳 SomeType
的一个实例。
当声明对象数组时,传递给构造函数的值是数组的最大索引。所以这个声明基本上是在声明一个长度为 1 的数组。该行的 {}
部分是您可以定义应存储在数组中的值的地方。如果您要将 SomeType
更改为 integer
,您可以像这样实例化并填充您的数组:
Dim intArray as Integer() = New Integer(0) {7}
这会给存储在 intArray
变量中的第一个实例赋值 7
。
SomeType
不是匿名类型。 SomeType
将是一个 class,必须在您的应用中的某处定义。
在 C# 中,我认为语法如下所示:
SomeType[] x = new SomeType[0];
我不确定您将如何在 C# 中完成 VB.NET 行的 {}
部分。