【问题标题】:Different ways of declaring arrays in VB.NET在 VB.NET 中声明数组的不同方法
【发布时间】:2013-05-19 01:40:42
【问题描述】:

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

- Dim cargoWeights(10) as Double

- cargoWeights = New Double(10) {}

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

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

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

编辑:

根据 MSDN 网站:

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

Dim twoDimStrings( , ) As String

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

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

【问题讨论】:

  • 您的声明“第一个声明只是声明了一个数组变量,它保存值'Nothing',直到某个数组对象被分配给它。”是不正确的。你可以很容易地自己测试......
  • @MitchWheat 那么我应该如何理解我最后的报价呢?

标签: arrays vb.net


【解决方案1】:

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() {}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    • 2013-02-02
    • 1970-01-01
    • 2012-10-29
    • 2017-10-07
    • 1970-01-01
    • 2013-08-04
    相关资源
    最近更新 更多