數組是有序數據的集合。數組中的元素可以不屬于同一個數據類型。用一個統一的數組名和下標來唯一地確定數組中的元素,更改其中一個元素并不會影響其它元素。數組的下標是有界的,分為下界和上界。數組可以用Dim、Private、Public或Static來聲明,它們的語法格式相同。下面只介紹用Dim聲明數組的方法。
1.數組的定義與聲明
數組的定義語法如下:
Dim 數組名( [[下標下界 To ] 下標上界] ) [As 數據類型]
例如(假設在當前模塊中 數組的缺省下界為0)):
① Dim A(10) As Integer
表示數組名為A,此數組下標下界為缺省值0,下標上界為10,有11個Integer類型的元素,從A(0)、A(1)到A(10)。
② Dim B(1 To 20) As Integer
表示數組名為B,此數組下標下界為1,下標上界為20,有20個Integer類型的元素,從B(1)到B(20)。
③Dim DayArray(50)
表示DayArray 是一個有 51 個索引(從 0 到 50)元素的 Variant 數組。
④Dim Matrix(3, 4) As Integer
表示Matrix 是一個二維 Integer 數組。
⑤Dim MyMatrix(1 To 5, 4 To 9, 3 To 5) As Double
表示MyMatrix 是一個顯式指定了上下界的三維 double 數組。
⑥Dim BirthDay(1 To 10) As Date
表示BirthDay 是一個索引從 1 到 10 的 Date型 數組。
2.Option Base 語句
Option Base 語句在模塊級別中使用,用來聲明數組下標的缺省下界。
Option Base 語句的語法如下:
Option Base {0 | 1}
說明:缺省狀態下數組下界為 0,此時無需使用 Option Base 語句。如果使用該語句規定數組下界1,則必須在模塊的數組聲明之前使用Option Base 語句。
注意:
(1)Dim、Private、Public、ReDim 以及 Static 語句中的 To 子句提供了一種更靈活的方式來控制數組的下標。不過,如果沒有使用 To 子句顯式地指定下界,則可以使用 Option Base 將缺省下界設為 1。使用 Array 函數創建的數組的下界也受 Option Base 語句指定的下界的決定, 除非 Array 是由類型庫(例如 VBA.Array )名稱限定,如果是由類型庫名稱限定,則 使用Array 函數創建的數組的下界不受 Option Base 的影響。
(2) Option Base 語句只影響位于包含該語句的模塊中的數組下界。
關于數組聲明的幾點說明:
①數組名命名規則和變量名的相同。
②數組名后是用圓括弧括起來的,不能用方括弧,不同于C語言。
③下標的下界必須不能大于其上界。
④可以用變量名或常數名(以及實數)作下標的邊界。當下標的邊界是常數名時,數組的大小固定,當下標的邊界是變量名時,數組的大小可作動態定義,即數組的大小取決于程序運行過程中變量的值。因此,VB 中數組又可以分為兩種數組:靜態數組、動態數組。
新聞熱點
疑難解答