Share via


Visual Basic 中的陣列大小

更新:2007 年 11 月

陣列大小為其所有維度 (Dimension) 長度之乘積。它代表目前包含於陣列中的元素總數。

下列範例宣告一個三維陣列︰

Dim prices(3, 4, 5) As Long

變數 prices 陣列的整體大小為 (3 + 1) x (4 + 1) x (5 + 1) = 120。

陣列大小考慮事項

處理陣列大小時,請注意幾點︰

維度長度

每個維度的索引都 以 0 為起點,也就是它的範圍是由 0 到它的上限 (Upper Bound)。因此,指定維度的長度會比該維度的宣告上限多 1。

長度限制

每個陣列之維度長度都受限於 Integer 資料型別的最大值,也就是 (2 ^ 31) - 1。然而,陣列之總大小也同時受限於系統可用的記憶體。若您試圖對總大小超過可用的 RAM 之陣列進行初始化,Common Language Runtime 將擲回 OutOfMemoryException 例外狀況。

大小及元素大小

陣列大小與其元素的資料型別無關。大小永遠是指元素的總數,而不是它們於儲存體中所佔的位元組。

記憶體消耗量

對陣列在記憶體中的儲存方式做任何假設都是不安全的。儲存體會因不同資料寬度的平台而有差異,所以相同陣列於 64 位元系統上所佔記憶體將較 32 位元系統來的多。當您初始化陣列時,隨著系統組態不同,Common Language Runtime (CLR) 會指派儲存體盡可能將元素存放在一起,或是根據實體硬體界限將它們全部加以調整。同時,陣列需要耗用儲存體以供其控制資訊使用,此消耗量會隨著維度增加而增加。

請參閱

工作

HOW TO:宣告陣列變數

HOW TO:建立陣列

HOW TO:初始化陣列變數

HOW TO:判斷陣列的大小

HOW TO:變更陣列的大小

HOW TO:判斷陣列某個維度的長度

陣列疑難排解

其他資源

Visual Basic 中的陣列