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

字號(hào):

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。