HOW TO:初始化不規則陣列

更新:2007 年 11 月

當您初始化不規則的陣列變數時,可以只指定最上層陣列的維度長度。初始化的方法有很多種:

若要初始化不規則陣列 (Jagged Array) 變數

  • 在陣列變數宣告中,指定第一對括弧中以逗號分隔的最上層索引上限 (Upper Bound)。下列範例會宣告並建立變數,以保留 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。

請參閱

工作

HOW TO:宣告陣列變數

HOW TO:建立陣列的陣列

HOW TO:初始化陣列變數

HOW TO:初始化多維陣列

陣列疑難排解

概念

Visual Basic 中的不規則陣列

撰寫符合 CLS 標準的程式碼

參考

New (Visual Basic)

其他資源

Visual Basic 中的陣列