當前位置:編程學習大全網 - 編程語言 - VB怎麽聲明數組

VB怎麽聲明數組

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)

  • 上一篇:魔獸世界獵人傷害輸出宏的問題
  • 下一篇:平面廣告文案範文
  • copyright 2024編程學習大全網