Visual Basic 中的交错数组

更新:2007 年 11 月

其中的每个元素本身都是数组的数组称为“数组的数组”或“交错”数组。 请注意,将数组作为元素与作为“多维”数组是不同的,后者在单个数组上具有多个索引。

交错的含义

有时,应用程序中的数据结构是两维的但不是矩形。例如,一个月份的数组,其每个元素又是天数的数组。由于不同的月份有不同的天数,元素不能构成一个矩形的两维数组。在这种情况下,可以使用交错数组而不是多维数组。

示例

下面的示例声明一个数组变量,以包含带有 Double 数据类型 (Visual Basic) 元素的数组的数组。数组 sales 的每个元素本身都是表示月份的数组。每个月份数组包含该月中每天的值。

Dim sales()() As Double = New Double(11)() {}
Dim month As Integer
Dim days As Integer
For month = 0 To 11 
    days = DateTime.DaysInMonth(Year(Now), month + 1)
    sales(month) = New Double(days - 1) {}
Next month

sales 的声明中的 New 子句将该数组变量设置为一个 12 元素的数组,其每个元素又是 Double 型元素的 Double() 型数组。For 循环确定该年 (Year(Now)) 中的每个月有多少天,并将 sales 的相应元素设置为合适长度的 Double 型数组。

在上面的示例中,与二维数组相比,交错数组节省了七个元素(闰年六个)。在更极端的情形中,可能节省非常多的内存。

请参见

任务

如何:声明数组变量

如何:创建数组的数组

如何:初始化交错数组

数组疑难解答

概念

Visual Basic 中的数组概述

Visual Basic 中的数组维数

Visual Basic 中的多维数组

Visual Basic 中的数组数据类型

编写符合 CLS 的代码

其他资源

数组 (Visual Basic)