Variable length parameter

To declare a method which can accept any number of parameters of a particular type we use the params modifier.

The params parameter is declared as an array.

 
using System;

class Program
{
    static void output(params int[] intPara)
    {
        for (int i = 0; i < intPara.Length; i++)
        {
            Console.WriteLine("params:" + intPara[i]);
        }
    }
    static void Main(string[] args)
    {
        output(1, 2, 3);
        output(1, 2, 3, 4, 5, 6);
    }
}
  

The output:


params:1
params:2
params:3
params:1
params:2
params:3
params:4
params:5
params:6

You can pass real array for params type parameters.

 
using System;

class Program
{
    static void output(params int[] intPara)
    {
        for (int i = 0; i < intPara.Length; i++)
        {
            Console.WriteLine("params:" + intPara[i]);
        }
    }
    static void Main(string[] args)
    {
        output(new int[] { 1, 2, 3 });

    }
}
  

The output:


params:1
params:2
params:3

The params type parameter must be the last parameter in that method.

 
using System;

class Program
{
    static void output(int j, params int[] intPara)
    {
        Console.WriteLine("j:" + j);

        for (int i = 0; i < intPara.Length; i++)
        {
            Console.WriteLine("params:" + intPara[i]);
        }
    }

    static void Main(string[] args)
    {

        output(999, new int[] { 1, 2, 3 });
    }
}
  

The output:


j:999
params:1
params:2
params:3
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.