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