A paramter array is a special parameter for a function. You may pass one and only one parameter array to a function provided that it is the last parameter in the function. Now you can use a function by calling it with a variable number of parameters. The variable number of arguments that you pass must be of the same type. You create a parameter array with the params keyword.
Below is an example of the params keyword used in a C# function. We are passing in 4 integers to the function. The function can iterate through the array of integers with a foreach loop.
Here is some sample code.
class Program // Functions - params keyword
{
static int SumIntVals(ref string myStr, params int[] vals)
{ // params must be last in the list
myStr = "Hello " + myStr;
int sum = 0;
foreach (int val in vals)
{ // they must all be int type
sum += val;
}
// can pass in no integers if you want
return sum;
}
static void Main(string[] args)
{
int myInt = 2;
string strMe = "Mike";
int sum = SumIntVals(ref strMe, 1, myInt, 5, 3);
// must use ref otherwise Hello will not
// be concatenated to the strMe variable!
Console.WriteLine("{0}, your summed values = {1}", strMe, sum);
// passing in the integers is optional
int sum2 = SumIntVals(ref strMe);
Console.WriteLine({0}, your summed values = {1}", strMe, sum2);
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
}
}
What does the output look like?

Notice that the second line of output has two “Hello”s. Why? Also, why is our function static?