2

在VB.NET中,以下声明数组的方式有什么区别吗?

- Dim cargoWeights(10) as Double

- cargoWeights = New Double(10) {}

'这是两个独立的陈述。他们不应该一个接一个地执行。

据我所知,第一个只是声明了一个数组变量,它保存值“Nothing”,直到某个数组对象被分配给它。换句话说,它还没有被初始化。

但是第二个声明呢?“=”符号是否意味着变量已经被初始化并且不会保持'Nothing'?它会指向一个包含 11 个默认 Double 值(0.0)的一维数组吗?

编辑:

根据 MSDN 网站:

下面的示例声明了一个最初不指向任何数组的数组变量。

将 twoDimStrings( , ) 调暗为字符串

(...) 变量 twoDimStrings 的值为 Nothing。

来源: http: //msdn.microsoft.com/en-us/library/18e9wyy0 (v=vs.80).aspx

4

1 回答 1

4

两者Dim cargoWeights(10) as DoublecargoWeights = New Double(10) {}实际上都会初始化一个双精度数组,每个项目都设置为默认类型值,在本例中为 0.0。(或者如果String数据类型为空)

两种语法之间的区别在于,第二种语法可以将数组中每个项目的值初始化为不同于默认值,例如:

cargoWeights = New Double(10) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}

要声明未初始化的数组,请使用Dim cargoWeights() As Doubleor cargoWeights = New Double() {}

于 2013-05-19T03:54:04.887 回答