params (C# Reference) 

The params keyword lets you specify a method parameter that takes an argument where the number of arguments is variable.

No additional parameters are permitted after the params keyword in a method declaration, and only one params keyword is permitted in a method declaration.

Example

// cs_params.cs
using System;
public class MyClass 
{

    public static void UseParams(params int[] list) 
    {
        for (int i = 0 ; i < list.Length; i++)
        {
            Console.WriteLine(list[i]);
        }
        Console.WriteLine();
    }

    public static void UseParams2(params object[] list) 
    {
        for (int i = 0 ; i < list.Length; i++)
        {
            Console.WriteLine(list[i]);
        }
        Console.WriteLine();
    }

    static void Main() 
    {
        UseParams(1, 2, 3);
        UseParams2(1, 'a', "test"); 

        // An array of objects can also be passed, as long as
        // the array type matches the method being called.
        int[] myarray = new int[3] {10,11,12};
        UseParams(myarray);
    }
}

Output

1
2
3

1
a
test

10
11
12

C# Language Specification

For more information, see the following sections in the C# Language Specification:

  • 10.5.1.4 Parameter arrays

See Also

Reference

C# Keywords
Method Parameters (C# Reference)

Concepts

C# Programming Guide

Other Resources

C# Reference