快速初始化Variant和String類型數(shù)組

字號:

VB中沒有提供定義數(shù)組并同時初始化其內(nèi)容的方法,所以大多數(shù)情況下,必須單獨地設置每一個元素,就象下面一樣:
    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)建一個Variants類型數(shù)組:
    Dim varArray() As Variant
    varArray() = Array("Spring", "Summer", "Fall", "Winter")
    但卻沒有同樣的函數(shù)能創(chuàng)建非Variant類型數(shù)組。但是我們發(fā)現(xiàn),在VB6中可以使用Split()函數(shù)創(chuàng)建字符串數(shù)組:
    Dim varArray() As String
    '由Split建立的數(shù)組下標通常是從0開始的
    varArray() = Split("Spring;Summer;Fall;Winter", ";")
    在VB6中,同樣能充分利用函數(shù)返回數(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
    同時,也可以創(chuàng)建一個子程序段來檢測傳遞給它的數(shù)值的類型,并返回正確類型的數(shù)組。這種情況下,函數(shù)應該定義為返回Variant。