Section 10.4. The params Keyword


10.4. The params Keyword

The params keyword allows you to pass in a variable number of parameters of the same type to a method. What the method receives is an array of that type.

In the next example, you create a method, DisplayVals( ) , that takes a variable number of integer arguments:

 public void DisplayVals(params int[] intVals) 

You are free to iterate over the array as you would over any other array of integers:

 foreach (int i in intVals)     {        Console.WriteLine("DisplayVals {0}",i);     } 

The calling method, however, need not explicitly create an array: it can simply pass in integers, and the compiler will assemble the parameters into an array for the DisplayVals( ) method:

 t.DisplayVals(5,6,7,8); 

You are free to pass in an array if you prefer:

 int [] explicitArray = new int[5] {1,2,3,4,5};     t.DisplayVals(explicitArray); 

You can only use one params argument for each method you create, and the params argument must be the last argument in the method's signature.


Example 10-3 illustrates using the params keyword.

Example 10-3. Using the params keyword
 using System; namespace UsingParams {    public class Tester    {       static void Main( )       {          Tester t = new Tester( );          t.DisplayVals(5,6,7,8);          int [] explicitArray = new int[] {1,2,3,4,5};          t.DisplayVals(explicitArray);       }       public void DisplayVals(params int[] intVals)       {          foreach (int i in intVals)          {             Console.WriteLine("DisplayVals {0}",i);          }       }    } } 

The output looks like this:

 DisplayVals 5     DisplayVals 6     DisplayVals 7     DisplayVals 8     DisplayVals 1     DisplayVals 2     DisplayVals 3     DisplayVals 4     DisplayVals 5 



Learning C# 2005
Learning C# 2005: Get Started with C# 2.0 and .NET Programming (2nd Edition)
ISBN: 0596102097
EAN: 2147483647
Year: 2004
Pages: 250

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net