共用方式為


Visual Basic 中的陣列維度

更新:2007 年 11 月

「維度」(Dimension) 是用來變更陣列元素規格的方向。保留該月份每天銷售總額的陣列具有一個維度 (該月的日期)。保留該月份每天之部門銷售總額的陣列具有兩個維度 (部門編號和該月的日期)。陣列所具有的維度數稱為它的「陣序」(Rank)。

使用維度

您可以藉由提供每個陣列元素維度的「索引」(Index) 或「註標」(Subscript),來指定陣列元素。沿著每個維度 (從索引 0 到該維度的最高索引) 的索引會是連續的。

下列圖例顯示具有不同陣序之陣列的概念結構。圖例中的每個元素都會顯示用來存取該元素的索引值。例如,可藉由指定索引 (1, 0),來存取二維陣列中第二列的第一個元素。

一維陣列

一維陣列示意圖

二維陣列

二維陣列示意圖

三維陣列

三維陣列示意圖

一維

許多陣列只會有一個維度 (例如每個年齡的人數)。指定元素的唯一需求就是該元素保留其計數的年齡。因此,這類陣列只會使用一個索引。下列範例會宣告一個變數,以保留 0 歲到 120 歲之年齡計數的「一維陣列」(One-Dimensional Array)。

Dim ageCounts(120) As UInteger

二維

某些陣列會具有兩個維度,例如校園中每棟建築物之每個樓層的辦公室數目。元素規格需要有建築物編號和樓層,而每個元素則會保留該建築物和樓層組合的計數。因此,這類陣列會使用兩個索引。下列範例會宣告一個變數,以保留辦公室計數的「二維陣列」(Two-Dimensional Array),建築物 0 到 40 和樓層 0 到 5。

Dim officeCounts(40, 5) As Byte

二維陣列也稱為「矩形陣列」(Rectangular Array)。

三維

有些陣列會具有三維,例如三維空間中的值。這類陣列會使用三個索引,在此情況下,這三個索引分別表示實體空間的 x、y 和 z 座標。下列範例會宣告一個變數,以保留用三維量的各個點數來表示「三維陣列」(Three-Dimensional Array) 的氣溫。

Dim airTemperatures(99, 99, 24) As Single

三個以上的維度

雖然陣列最多可有 32 個維度,但很少會有三個以上的維度。

注意事項:

將維度加入至陣列時,陣列所需的總儲存體會急遽增加,因此請謹慎使用多維陣列。

使用不同的維度

假設想要追蹤這個月每天的銷售量。您可能會宣告具有 31 個元素 (該月的每一天一個元素) 的一維陣列,如下列範例所示。

Dim salesAmounts(30) As Double

現在假設您不只想要追蹤某個月每天的相同資訊,也要追蹤那一年度每個月的相同資訊。您可以宣告具有 12 列 (用於月份) 和 31 欄 (用於天數) 的二維陣列,如下列範例所示。

Dim salesAmounts(11, 30) As Double

現在假設您決定要讓陣列保留一年以上的資訊。如果您想要追蹤 5 年的銷售額,則可宣告具有 5 層、12 列和 31 欄的三維陣列,如下列範例所示。

Dim salesAmounts(4, 11, 30) As Double

請注意,因為每個索引都不同 (從 0 到其最大值),所以 salesAmounts 的每個維度都以小於該維度之必要長度減一的值來宣告。也請注意,陣列大小會隨著每個新維度而增加。上面範例中的三個大小分別是 31、372 和 1,860 個元素。

請參閱

工作

HOW TO:宣告陣列變數

HOW TO:建立陣列

HOW TO:初始化陣列變數

陣列疑難排解

概念

Visual Basic 中的陣列概觀

Visual Basic 中的多維陣列

Visual Basic 中的不規則陣列

Visual Basic 中的陣列資料型別

其他資源

Visual Basic 中的陣列