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) 來初始化每個元素值。
若要在後續的指派陳述式中初始化陣列
請在陣列變數宣告中指定索引上限。
使用一個或多個指派陳述式,每個陳述式會指派值到其中一個陣列元素。下列範例會宣告並建立變數以保留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 子句中的括弧內指定上限,則括弧後面必須是空白的變數名稱。