在VB.NET中声明数组的不同方法

时间:2013-05-19 01:40:43

标签: arrays vb.net

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

- Dim cargoWeights(10) as Double

- cargoWeights = New Double(10) {}

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

据我所知,第一个只是声明了一个数组变量,它保存了值'Nothing',直到为它分配了一个数组对象。换句话说,它尚未初始化。

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

编辑:

根据MSDN网站:

  

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

     

Dim twoDimStrings(,)As String

     

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

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

1 个答案:

答案 0 :(得分: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 DoublecargoWeights = New Double() {}