如何:初始化交错数组

更新: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。

请参见

任务

如何:声明数组变量

如何:创建数组的数组

如何:初始化数组变量

如何:初始化多维数组

数组疑难解答

概念

Visual Basic 中的交错数组

编写符合 CLS 的代码

参考

New (Visual Basic)

其他资源

数组 (Visual Basic)