VB中沒(méi)有提供定義數(shù)組并同時(shí)初始化其內(nèi)容的方法,所以大多數(shù)情況下,必須單獨(dú)地設(shè)置每一個(gè)元素,就象下面一樣:
Dim strArray(0 To 3) As String
strArray(0) = "Spring"
strArray(1) = "Summer"
strArray(2) = "Fall"
strArray(3) = "Winter"
在VB4、VB5和VB6中,可以使用Array()函數(shù)隨意創(chuàng)建一個(gè)Variants類型數(shù)組:
Dim varArray() As Variant
varArray() = Array("Spring", "Summer", "Fall", "Winter")
但卻沒(méi)有同樣的函數(shù)能創(chuàng)建非Variant類型數(shù)組。但是我們發(fā)現(xiàn),在VB6中可以使用Split()函數(shù)創(chuàng)建字符串?dāng)?shù)組:
Dim varArray() As String
'由Split建立的數(shù)組下標(biāo)通常是從0開(kāi)始的
varArray() = Split("Spring;Summer;Fall;Winter", ";")
在VB6中,同樣能充分利用函數(shù)返回?cái)?shù)組的能力,創(chuàng)建數(shù)組初始化程序段。比如下面的代碼段:
Function ArrayInt(ParamArray values() As Variant) As Integer()
Dim i As Long
ReDim res(0 To UBound(values)) As Integer
For i = 0 To UBound(values)
res(i) = values(i)
Next
ArrayInt = res()
End Function
同時(shí),也可以創(chuàng)建一個(gè)子程序段來(lái)檢測(cè)傳遞給它的數(shù)值的類型,并返回正確類型的數(shù)組。這種情況下,函數(shù)應(yīng)該定義為返回Variant。
Dim strArray(0 To 3) As String
strArray(0) = "Spring"
strArray(1) = "Summer"
strArray(2) = "Fall"
strArray(3) = "Winter"
在VB4、VB5和VB6中,可以使用Array()函數(shù)隨意創(chuàng)建一個(gè)Variants類型數(shù)組:
Dim varArray() As Variant
varArray() = Array("Spring", "Summer", "Fall", "Winter")
但卻沒(méi)有同樣的函數(shù)能創(chuàng)建非Variant類型數(shù)組。但是我們發(fā)現(xiàn),在VB6中可以使用Split()函數(shù)創(chuàng)建字符串?dāng)?shù)組:
Dim varArray() As String
'由Split建立的數(shù)組下標(biāo)通常是從0開(kāi)始的
varArray() = Split("Spring;Summer;Fall;Winter", ";")
在VB6中,同樣能充分利用函數(shù)返回?cái)?shù)組的能力,創(chuàng)建數(shù)組初始化程序段。比如下面的代碼段:
Function ArrayInt(ParamArray values() As Variant) As Integer()
Dim i As Long
ReDim res(0 To UBound(values)) As Integer
For i = 0 To UBound(values)
res(i) = values(i)
Next
ArrayInt = res()
End Function
同時(shí),也可以創(chuàng)建一個(gè)子程序段來(lái)檢測(cè)傳遞給它的數(shù)值的類型,并返回正確類型的數(shù)組。這種情況下,函數(shù)應(yīng)該定義為返回Variant。