如何:初始化数组变量

更新:2007 年 11 月

使用 New (Visual Basic) 子句可以在创建数组的同时初始化数组。也可以在后面的赋值语句中初始化数组。

数组的以下方面可以初始化:

  • 索引上限,用于指定数组各维度的长度

  • 数组的某些或所有元素的值

这些方面可以分开初始化。但是,如果仅提供元素值而未提供上限,则由所提供的值的数量决定上限。

在创建时用 New 子句初始化数组

  • 在 New 子句中,在圆括号中指定索引上限,并在大括号 ({}) 中提供元素值。下面的示例声明、创建并初始化一个变量以存储 Char 数据类型 (Visual Basic) 元素的数组,并指定其上限和值。

    Dim testChars As Char() = New Char(2) {"%"c, "&"c, "@"c}
    

    执行该语句后,变量 testChars 中的数组长度为 3,其元素从索引 0 到索引 2,用于存储初始化的值。如果您同时提供了上限和值,则必须为从索引 0 到上限的每个元素都包括一个值。

    注意文本类型字符 c,它将字符文本强制为 Char 数据类型。默认情况下,如果没有任何字符类型,则双引号 (" ") 中的文本使用 String。

    如果在 New 子句中提供了元素值,则不必指定索引上限。下面的示例声明、创建并初始化一个变量以存储 Boolean 数据类型 (Visual Basic) 元素的数组,并且仅指定元素值。

    Dim answers As Boolean() = New Boolean() {True, True, False, True}
    

    执行该语句后,变量 answers 中的数组长度为 4,其元素从索引 0 到索引 3,用于存储初始化的值。

可以初始化索引上限而不初始化任何元素。如果以这样的方式创建数组,则必须使用后续的赋值语句初始化每个元素值。

用后面的赋值语句初始化数组

  1. 在数组变量声明中指定索引上限。

  2. 使用一个或多个赋值语句,其中每个语句为数组中的一个元素赋一个值。下面的示例声明并创建一个变量以存储 String 数据类型 (Visual Basic) 元素的数组,并在后续语句中提供两个元素值。

    Dim comments(30) As String
    comments(0) = "This is the first comment."
    comments(5) = "This is the sixth comment."
    

    执行这些语句后,变量 comments 中的数组长度为 31,位于索引 0 和索引 5 处的元素存储初始化的值,其他 29 个元素存储默认值。如果以这种方式初始化数组,可以初始化一些元素而跳过其他元素。

- 或 -

  • 使用 ReDim 语句 (Visual Basic) 初始化数组的长度。

    ReDim comments(5)
    

    执行该语句后,变量 comments 中的数组长度为 6,其所有元素都存储默认值。

    说明:

    只能在一个位置初始化索引上限。如果在数组变量名后面的括号内指定上限,则不能使用 New 子句。如果在 New 子句中的括号内指定上限,则必须将变量名后面的括号留空。

请参见

任务

如何:声明数组变量

如何:创建数组

如何:初始化多维数组

如何:初始化交错数组

数组疑难解答

概念

Visual Basic 中的数组概述

其他资源

数组 (Visual Basic)