Home
VB.NET
ParamArray (Use varargs Functions)
Updated Dec 16, 2021
Dot Net Perls
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.
Array
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.
For
Console.WriteLine
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 Module
Count: 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).
Home
Changes
© 2007-2025 Sam Allen