ParamArray. This keyword allows a method to be called with an array of values that are specified directly (not in an explicit array). The values are placed into an array by the compiler.
For optimal performance, adding many overloaded methods is usually best. But ParamArray can be used in VB.NET programs where performance is not that important.
An example program. Let us examine a simple program that uses ParamArray. Notice how the ParamArray keyword comes first, then the array name with parentheses attached to it.
Here PrintValues receives a ParamArray. We can call it with zero, one or many arguments.
Warning For performance, avoiding ParamArray is often a better solution. An array is created for each call to a ParamArray method.
Result When PrintValues() is called, it receives its elements as an array and loops over them with For Each. It prints them to the console.
Module Module1
Sub PrintValues(ParamArray values() As Integer)
' Display Length of array.
Console.WriteLine("Count: " + values.Length.ToString())
' Loop over ParamArray values.
For Each value As Integer In values
Console.WriteLine(value)
Next
End Sub
Sub Main()
' Use ParamArray method.
PrintValues()
PrintValues(1)
PrintValues(10, 20, 30)
End Sub
End ModuleCount: 0
Count: 1
1
Count: 3
10
20
30
Some notes. Performance is not everything. For simplicity, using ParamArray for a varargs Function is a good plan. Often the array overhead will not matter.
A review. ParamArray is the same construct as "params" in C#. Other languages have similar constructs, sometimes referred to as varargs for "variadic" or "variable" argument lists.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.
This page was last updated on Dec 16, 2021 (edit link).