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