Wednesday, October 7, 2009

Variable number of parameters in method (function)

Variable number of parameters in method:
Use params in declaration, use comma-separated list or array when calling.



    // source: C# Language Specification. 10.5.1.4 Parameter arrays
    // http://msdn.microsoft.com/en-us/library/aa645765(VS.71).aspx
class Test
{
    // test 1
    static void ParamCount(params int[] args)
    {
        Console.Write("Array contains {0} elements:", args.Length);
        foreach (int i in args)
            Console.Write(" {0}", i);
        Console.WriteLine();
    }
    static void RunTest1()
    {
        int[] arr = { 1, 2, 3 };
        ParamCount(arr);
        ParamCount(10, 20, 30, 40);
        ParamCount();
    }

    // test 2
   static void F(params object[] args) {
      foreach (object o in args) {
         Console.Write(o.GetType().FullName);
         Console.Write(" ");
      }
      Console.WriteLine();
   }
   static void RunTest2() {
      object[] a = {1, "Hello", 123.456};
      object o = a;
      F(a);             // System.Int32 System.String System.Double
      F((object)a);     // System.Object[]
      F(o);             // System.Object[]
      F((object[])o);   // System.Int32 System.String System.Double
   }
}

No comments:

Post a Comment