|
原帖由 Moneky 于 2009-12-7 15:05 发表 
在VB6中,同样能充分利用函数返回数组的能力,创建数组初始化程序段.比如下面的代码段:
——注:这段实在太不能理解了,哪位理解了的大哥回个贴讲讲。我的疑问是【下面的函数虽然可以返回一个数组,但却要传递一个参数values,难道这个参数不需要初始化么?感觉是多此一举】 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
关于这个问题 完整应用如下
-
-
- Sub test()
- Dim arr() As Integer
- arr = ArrayInt(1555, 789, 569, 456, 123, 456, 4546, 7899, 7866, 25554) '初始化Integer数组,括号里可以写N多个
- End Sub
- 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
复制代码
等同于返回Variant 数组的 Array(1,2,3,4,5,6,7,8) 只不过一个是Variant 一个是 Integer |
|