Specifies that a procedure parameter takes an optional array of elements of the specified type. ParamArray can be used only on the last parameter of a parameter list.


ParamArray allows you to pass an arbitrary number of arguments to the procedure. A ParamArray parameter is always declared using ByVal.

You can supply one or more arguments to a ParamArray parameter by passing an array of the appropriate data type, a comma-separated list of values, or nothing at all. For details, see "Calling a ParamArray" in Parameter Arrays.

Security noteSecurity Note:

Whenever you deal with an array which can be indefinitely large, there is a risk of overrunning some internal capacity of your application. If you accept a parameter array from the calling code, you should test its length and take appropriate steps if it is too large for your application.

The ParamArray modifier can be used in these contexts:

Declare Statement

Function Statement (Visual Basic)

Property Statement

Sub Statement (Visual Basic)

See Also


How to: Define a Procedure with an Indefinite Number of Parameters

How to: Call a Procedure that Takes an Indefinite Number of Parameters


Parameter Arrays


Visual Basic Language Keywords