Share via


HOW TO:初始化陣列變數

更新:2007 年 11 月

您在建立陣列時可以同時予以初始化,如同 New (Visual Basic) 子句的一部分。也可以在後續的指派陳述式中予以初始化。

可以初始化的陣列部分如下:

  • 索引上限 (Upper Bound) 可以指定陣列維度長度

  • 部分或全部陣列元素的值

您可以只初始化其中一項。然而,如果您提供元素值但未提供上限,則所提供的值數目將會決定上限。

若要在建立期間的 New 子句中初始化陣列

  • 在 New 子句中,在括弧內指定索引上限,並在大括號 ({}) 中提供元素值。下列範例會宣告、建立並初始化變數,以保留含有 Char 資料型別 (Visual Basic) 元素的陣列,並指定上限和值。

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

    執行此陳述式後,變數 testChars 中的陣列長度為 3,從索引 0 到索引 2 的元素都有保留初始值。如果同時提供上限和元素值,則必須為索引 0 到上限的每個元素加入值。

    請注意,常值型別字元 c,會強制套用字元常值 (Character Literal) 至 Char 資料型別。根據預設,在沒有任何型別字元的情況下,在引號 (" ") 中的常值會使用 String。

    如果您在 New 子句中提供元素值,則不必指定索引上限。下列範例會宣告、建立並初始化變數,以保留含有Boolean 資料型別 (Visual Basic) 元素的陣列,並且只指定元素值。

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

    執行此陳述式後,變數 answers 中的陣列長度為 4,從索引 0 到 3 的元素都有保留初始值。

您可以不初始化任何元素而只初始化索引上限。如果您以這種方式建立陣列,則必須使用後續指派陳述式 (Assignment Statement) 來初始化每個元素值。

若要在後續的指派陳述式中初始化陣列

  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 子句中的括弧內指定上限,則括弧後面必須是空白的變數名稱。

請參閱

工作

HOW TO:宣告陣列變數

HOW TO:建立陣列

HOW TO:初始化多維陣列

HOW TO:初始化不規則陣列

陣列疑難排解

概念

Visual Basic 中的陣列概觀

其他資源

Visual Basic 中的陣列