Dim Counters (14) As Integer "15 個元素。
Dim Sums (20) As Double "21 個元素。
為建立公用陣列,直接用 Public 取代 Dim。
Public Counters (14) As Integer
Public Sums (20) As Double
在過程之中同樣的宣告使用 Dim:
Dim Counters (14) As Integer
Dim Sums (20) As Double
第一個宣告建立了一個有 15 個元素的陣列,其索引號從 0 到 14 。第二個宣告建立了一個有 21 個元素的陣列,其索引號從 0 到 20 。預設的下界為 0。
為了規定下界,用關鍵字 To 顯式提供下界(為 Long 資料型別):
Dim Counters (1 To 15) As Integer
Dim Sums (100 To 120) As String
包含其它陣列的陣列
Private Sub Command1_Click ()
Dim intX As Integer "宣告計數器變數。
"宣告並放置整數陣列。
Dim countersA (5) As Integer
For intX = 0 To 4
countersA (intX) = 5
Next intX
"宣告並放置字串陣列。
Dim countersB (5) As String
countersB (intX) = "hello"
Dim arrX (2) As Variant "宣告擁有兩個成員的新陣列。
arrX (1) = countersA () "將其它陣列移居到陣列。
arrX (2) = countersB ()
MsgBox arrX (1) (2) "顯示每一個數組的成員。
MsgBox arrX (2) (3)
End Sub
多維陣列
有時需要追蹤記錄陣列中的相關資訊。例如,為了追蹤記錄計算機螢幕上的每一個畫素,需要引用它的 X、Y 座標。這時應該用多維陣列儲存值。
可用 Visual Basic 宣告多維陣列。例如,下面的語句聲明瞭一個過程內的 10 × 10 的二維陣列。
Static MatrixA (9, 9) As Double
Static MatrixA (1 To 10, 1 To 10) As Double
Dim MultiD (3, 1 To 10, 1 To 15)
這個宣告建立了三維陣列,大小為 4 × 10 × 15。元素總數為三個維數的乘積,為 600。
注意 在增加陣列的維數時,陣列所佔的儲存空間會大幅度增加,所以要慎用多維陣列。使用 Variant 陣列時更要格外小心,因為他們需要更大的儲存空間。
用迴圈運算元組
Dim I As Integer, J As Integer
Static MatrixA(1 To 10, 1 To 10) As Double
For I = 1 To 10
For J = 1 To 10
MatrixA (I, J) = I * 10 + J
Next J
Next I
要建立動態陣列,請按照以下步驟執行:
(如果希望陣列為公用陣列,則)用 Public 語句宣告陣列,或者,(如果希望陣列為模組級,則)在模組級用 Dim 語句宣告陣列,或者(如果希望陣列為區域性陣列,則)在過程中用 Static 或 Dim 語句宣告陣列。給陣列附以一個空維數表,這樣就將陣列宣告為動態陣列。
Dim DynArray ()
用 ReDim 語句分配實際的元素個數。 ReDim DynArray (X + 1)
ReDim 語句只能出現在過程中。與 Dim 語句、Static 語句不同,ReDim 語句是一個可執行語句,由於這一語句,應用程式在執行時執行一個操作。
ReDim 語句支援這樣的語法,它與固定陣列中使用的語法相同。對於每一維數,每個 ReDim 語句都能改變元素數目以及上下界。但是,陣列的維數不能改變。
ReDim DynArray (4 to 12)
例如,用第一次宣告在模組級所建立的動態陣列 Matrix1:
Dim Matrix1 () As Integer
Sub CalcValuesNow ()
ReDim Matrix1 (19, 29)
ReDim 語句給 Matrix 分配一個 20 × 30 的整數矩陣(元素總大小為 600)。還有一個辦法,用變數設定動態陣列的邊界:
ReDim Matrix1 (X, Y)
注意 您可以將字串賦值給大小可變的位元組陣列。一個位元組陣列也可以被賦值給一個可變長的字串。一定要注意字串中的位元組數會隨平臺而變化。同一個字串在 Unicode 平臺上的位元組數是它在非 Unicode 平臺上的兩倍。
保留動態陣列的內容
每次執行 ReDim 語句時,當前儲存在陣列中的值都會全部丟失。Visual Basi 重新將陣列元素的值置為 Empty(對 Variant 陣列)、置為 0(對 Numeric 陣列)、置為 零長度字串(對 String 陣列)或者置為 Nothing(對於物件的陣列)。
,這樣做是非常有用的。有時希望改變陣列大小又不丟失陣列中的資料。使用具有 Preserve 關鍵字的 ReDim Preserve DynArray (UBound (DynArray) + 1)
ReDim Preserve Matrix (10, UBound (Matrix, 2) + 1)
而不可這樣程式設計:
ReDim Preserve Matrix (UBound (Matrix, 1) + 1, 10)
Dim Counters (14) As Integer "15 個元素。
Dim Sums (20) As Double "21 個元素。
為建立公用陣列,直接用 Public 取代 Dim。
Public Counters (14) As Integer
Public Sums (20) As Double
在過程之中同樣的宣告使用 Dim:
Dim Counters (14) As Integer
Dim Sums (20) As Double
第一個宣告建立了一個有 15 個元素的陣列,其索引號從 0 到 14 。第二個宣告建立了一個有 21 個元素的陣列,其索引號從 0 到 20 。預設的下界為 0。
為了規定下界,用關鍵字 To 顯式提供下界(為 Long 資料型別):
Dim Counters (1 To 15) As Integer
Dim Sums (100 To 120) As String
包含其它陣列的陣列
Private Sub Command1_Click ()
Dim intX As Integer "宣告計數器變數。
"宣告並放置整數陣列。
Dim countersA (5) As Integer
For intX = 0 To 4
countersA (intX) = 5
Next intX
"宣告並放置字串陣列。
Dim countersB (5) As String
For intX = 0 To 4
countersB (intX) = "hello"
Next intX
Dim arrX (2) As Variant "宣告擁有兩個成員的新陣列。
arrX (1) = countersA () "將其它陣列移居到陣列。
arrX (2) = countersB ()
MsgBox arrX (1) (2) "顯示每一個數組的成員。
MsgBox arrX (2) (3)
End Sub
多維陣列
有時需要追蹤記錄陣列中的相關資訊。例如,為了追蹤記錄計算機螢幕上的每一個畫素,需要引用它的 X、Y 座標。這時應該用多維陣列儲存值。
可用 Visual Basic 宣告多維陣列。例如,下面的語句聲明瞭一個過程內的 10 × 10 的二維陣列。
Static MatrixA (9, 9) As Double
Static MatrixA (1 To 10, 1 To 10) As Double
Dim MultiD (3, 1 To 10, 1 To 15)
這個宣告建立了三維陣列,大小為 4 × 10 × 15。元素總數為三個維數的乘積,為 600。
注意 在增加陣列的維數時,陣列所佔的儲存空間會大幅度增加,所以要慎用多維陣列。使用 Variant 陣列時更要格外小心,因為他們需要更大的儲存空間。
用迴圈運算元組
Dim I As Integer, J As Integer
Static MatrixA(1 To 10, 1 To 10) As Double
For I = 1 To 10
For J = 1 To 10
MatrixA (I, J) = I * 10 + J
Next J
Next I
要建立動態陣列,請按照以下步驟執行:
(如果希望陣列為公用陣列,則)用 Public 語句宣告陣列,或者,(如果希望陣列為模組級,則)在模組級用 Dim 語句宣告陣列,或者(如果希望陣列為區域性陣列,則)在過程中用 Static 或 Dim 語句宣告陣列。給陣列附以一個空維數表,這樣就將陣列宣告為動態陣列。
Dim DynArray ()
用 ReDim 語句分配實際的元素個數。 ReDim DynArray (X + 1)
ReDim 語句只能出現在過程中。與 Dim 語句、Static 語句不同,ReDim 語句是一個可執行語句,由於這一語句,應用程式在執行時執行一個操作。
ReDim 語句支援這樣的語法,它與固定陣列中使用的語法相同。對於每一維數,每個 ReDim 語句都能改變元素數目以及上下界。但是,陣列的維數不能改變。
ReDim DynArray (4 to 12)
例如,用第一次宣告在模組級所建立的動態陣列 Matrix1:
Dim Matrix1 () As Integer
Sub CalcValuesNow ()
ReDim Matrix1 (19, 29)
End Sub
ReDim 語句給 Matrix 分配一個 20 × 30 的整數矩陣(元素總大小為 600)。還有一個辦法,用變數設定動態陣列的邊界:
ReDim Matrix1 (X, Y)
注意 您可以將字串賦值給大小可變的位元組陣列。一個位元組陣列也可以被賦值給一個可變長的字串。一定要注意字串中的位元組數會隨平臺而變化。同一個字串在 Unicode 平臺上的位元組數是它在非 Unicode 平臺上的兩倍。
保留動態陣列的內容
每次執行 ReDim 語句時,當前儲存在陣列中的值都會全部丟失。Visual Basi 重新將陣列元素的值置為 Empty(對 Variant 陣列)、置為 0(對 Numeric 陣列)、置為 零長度字串(對 String 陣列)或者置為 Nothing(對於物件的陣列)。
,這樣做是非常有用的。有時希望改變陣列大小又不丟失陣列中的資料。使用具有 Preserve 關鍵字的 ReDim Preserve DynArray (UBound (DynArray) + 1)
ReDim Preserve Matrix (10, UBound (Matrix, 2) + 1)
而不可這樣程式設計:
ReDim Preserve Matrix (UBound (Matrix, 1) + 1, 10)