在函数中传递数组

时间:2011-09-30 18:23:13

标签: vbscript

我有一个如下所示的数组:

MyArray(0)='test'
MyArray(1)='test2'
MyArray(2)='test3'

如何通过函数传递此信息?

Function(MyArray(all_arrays)) 

我为all_arrays做了什么?

3 个答案:

答案 0 :(得分:6)

MyArray(0)='test'
MyArray(1)='test2
MyArray(2)='test3'

AcceptArray MyArray

Private Function AcceptArray(myArray())
'Code here
End Function

您希望在数组之前传递字符串。

因此,将函数更改为:

Private Function AcceptArray(param1, myArray)
'Code here
'Don't forget to return value of string type.
End Function

你可以这样称呼这个函数:

returnValue = AcceptArray("MyString", MyArray)

如果您不需要返回值,则应使用Sub。

答案 1 :(得分:2)

看起来你需要定义你的功能:

Function <FunctionName>(byref <list Name>)

然后当你在代码中调用它时

<FunctionName>(MyArray)

在这里找到: http://www.herongyang.com/VBScript/Function-Procedure-Pass-Array-as-Argument.html

仅使用数组名称通过引用传递允许您将整个数组传递给函数

答案 2 :(得分:1)

一个简单的例子......

Dim MyArray(2)
MyArray(0) = "Test"
MyArray(1) = "Test2"
MyArray(2) = "Test3"

ProcessArray MyArray

' -------------------------------------
' ProcessArray
' -------------------------------------
Sub ProcessArray(ArrayToProcess())
  For i = 0 To 2
    WScript.Echo ArrayToProcess(i)
  Next
End Sub