Export (0) Print
Expand All

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.

// 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

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

  • 10.5.1.4 Parameter arrays

Community Additions

ADD
Show:
© 2014 Microsoft