Visual Basic 中的多維陣列
更新:2007 年 11 月
陣列可有一個或多個維度 (Dimension)。如果陣列有多於一個的維度,則稱為「多維」陣列。請注意,陣列擁有多個維度並不等於「不規則」陣列 (Jagged Array),因為後者的元素是由其他陣列組成。
維度及大小
陣列的「維度」或「陣序規範」(Rank Specifier) 對應至用來辨識個別元素的索引數。您最多可指定 32 個維度,不過超過 3 個就已經相當罕見了。下例宣告二維陣列變數和三維陣列變數。
Dim populations(200, 3) As Long
Dim matrix(5, 15, 10) As Single
元素的總數為其所有維度長度之乘積。在前述範例中,populations 的元素總數為 804 (201 x 4),而 matrix 的元素總數為 1056 (6 x 16 x 11)。每個索引的範圍由 0 到其指定的維度長度。
二維陣列也稱為「矩形陣列」(Rectangular Array)。
注意事項: |
---|
當您將維度加入陣列時,陣列所需的總儲存量會急遽增加,因此請小心使用多維陣列。 |
陣列類別成員
所有陣列都繼承自 System 命名空間中的 Array 類別,您可於任何陣列中存取 Array 的方法和屬性。下列 Array 成員可能很有用︰
Rank 屬性傳回陣列之陣序規範 (維度數目)。
GetLength 方法傳回指定維度之長度。
GetUpperBound 方法傳回指定維度之最高索引值。 對每個維度來說,最低的索引值永遠為 0。
Length 屬性傳回陣列中元素的總數。
Array.Sort 方法可對一維陣列的元素進行排序。
請注意,GetLength 和 GetUpperBound 需要以 0 為起點的引數,以供您正在指定的維度使用。