如何:初始化交错数组
更新:2007 年 11 月
当初始化一个交错数组变量时,只能指定顶级数组的维度长度。有几种方法可实现此操作:
初始化交错数组变量
在数组变量声明中的第一对括号内指定顶级索引上限,以逗号分隔。下面的示例声明并创建一个变量,以保存 Byte 元素的交错数组,仅指定顶级上限。
Dim rainfall(11)() As Byte
执行此语句后,变量 rainfall 中的数组保存有 12 个元素,其中每个元素都是 Byte 元素的一个空数组。
- 或 -
在 New 子句中的第一对括号内指定顶级索引上限,并提供空的大括号 ({})。下面的示例声明并创建一个变量,以保存 Short 元素的交错数组,仅指定顶级上限。
Dim snowfall()() As Short = New Short(11)() {}
执行此语句后,变量 snowfall 中的数组保存有 12 个元素,其中每个元素都是 Short 元素的一个空数组。
说明: 只能在一处初始化顶级索引上限。如果在数组变量名后面的括号内指定上限,则不能使用 New 子句。如果在 New 子句中的括号内指定上限,则必须将变量名后面的括号保留为空。
- 或 -
在 New 子句中的括号内指定顶级索引上限,并在大括号 ({})内提供元素值。下面的示例声明、创建并初始化一个变量,以保存 Char 元素的交错数组,指定顶级上限和值。请注意用于初始化底层数组的嵌套的 New 子句。
Dim decodeValues()() As Char = New Char(1)() {New Char() {"a"c, "b"c}, New Char() {"p"c, "q"c}}
执行此语句后,变量 decodeValues 中的数组会存有两个元素,其中每个元素都是长度为 1 的 Char 数组,而且位于索引 0 处的元素存有一个已初始化的值。如果提供顶级上限和值,则必须包含从索引 0 至上限的每个顶级元素的值。
- 或 -
在 New 子句中,省略顶级括号,在大括号 ({}) 内提供元素值。下面的示例声明、创建并初始化一个变量,以保存 Byte 元素的交错数组,仅指定元素值。请注意 New 子句中的两级大括号。
Dim firstValues()() As Byte = {New Byte() {2, 1}, New Byte() {3, 0}}
执行此语句后,变量 firstValues 中的数组长度为 2,带有元素 firstValues(0) 和 firstValues(1)。其中每个元素都已初始化为带有两个元素的 Byte 数组,第一个具有元素值 2 和 1,第二个具有元素值 3 和 0。