Params Parameter in C# with example

 

In this article we have explained params parameter with an example in c-sharp code and we have also stated three restrictions in declaring params parameter.



What is Params Parameter?

We use params keywords to pass variable number of arguments to a method or function.

We can send comma separated list of arguments to a method.

During compilation with params, the arguments passes to a method are changed into elements in a temporary array. This temporary array can be further used in a method code to get values.

Syntax of Params Parameter

 

public int Multiplication(params int[] values){

///Code goes here

}

In a method or a function of round braces we can use "params" keyword followed by data type with array like square brackets then "params" keyword name.

Step by Step Params parameter with an example in C#

Let's do a small example using "params" keyword in a console application using C#.

Step 1 : Create Console Application in C#

First open up visual studio and create a new console application project using languague c#.

 

class Program
{
        static void Main(string[] args)
        {

            ///code

        }

}

Step 2 : Create a Method

Let's create a static method in main console application program with return types as "int" and input argument as "params" keyword with "int[]" data type as shown in below snippet of code.

 

class Program
{
        static void Main(string[] args)
        {

            ///code goes here

        }

	   static int Addition(params int[] values)
	   {
			//Code goes here

	   }   

}

Now in a method scope of an "Addition" let's write some code which will do addition of all input values. Since input value is in an array "integer" type format, we need to use FOR-Each Loop to fetch integer values from an array.

 

class Program
{
        static void Main(string[] args)
        {

            ///code

        }

	  static int Addition(params int[] values)
	  {
            int answer = 0;
            foreach (int value in values)
            {
                answer += value;
            }
            return answer;

	  }   

}

As you in an above code that for-each loop takes each value from array and adds to an new "integer" variable "answer".

Step 3 : Calling Static Method

In this step we will call "Addition" method in our main program and pass some input values.

 

class Program
{
        static void Main(string[] args)
        {

           int add1 = Addition(1);
           int add2 = Addition(2, 2, 2, 2);
           int[] addarray = new int[3] { 3, 3, 3 };
           int add3 = Addition(addarray);

        }

	  static int Addition(params int[] values)
	  {
            int answer = 0;
            foreach (int value in values)
            {
                answer += value;
            }
            return answer;

	  }   

}

As you can see from above code that we have called our static method "Addition" in our main method and to this method we have passed input values in different ways as shown below.

1st way - Only single value.

2nd way Multiple values separated by comma.

3rd way - passing an array.

 

        static void Main(string[] args)
        {

           int add1 = Addition(1); //Only single value.
           int add2 = Addition(2, 2, 2, 2); //Multiple values separated by comma.
           int[] addarray = new int[3] { 3, 3, 3 };
           int add3 = Addition(addarray); //passing an array.

        }


Step 4 : Displaying Output



Conclusion

1st way - Addition of 1 = 1.

2nd way - Addition of 2 + 2 + 2 + 2 = 8.

3rd way - Addition of 3 + 3 + 3 = 9 using array.

So as you see we have successfully executed the program and we use params keywords to pass variable number of arguments to a method or function.

Complete Code
 


    class Program
    {
        static void Main(string[] args)
        {
            int add1 = Addition(1);
            int add2 = Addition(2, 2, 2, 2);
            int[] addarray = new int[3] { 3, 3, 3 };
            int add3 = Addition(addarray);
            Console.WriteLine("1st Way Output == {0}",add1);
            Console.WriteLine("2nd Way Output == {0}", add2);
            Console.WriteLine("3rd Way Output == {0}", add3);
            Console.WriteLine("\n");

            string[] animalnames = new string[5] { "Cow", "Goat", "Tiger", "Monkey", "Lion" };
            DisplayNames(animalnames);
            DisplayObject("OnlineBuff", 009, 99.9, "Mumbai");
            

        }

        static int Addition(params int[] values)
        {
            int answer = 0;
            foreach (int value in values)
            {
                answer += value;
            }
            return answer;
        }

        static void DisplayNames(params string[] values)
        {
            for (int i = 0; i < values.Length; i++)
            {
                Console.Write(values[i] + "\n");
            }
            Console.WriteLine();
        }

        static void DisplayObject(params object[] values)
        {
            for (int i = 0; i < values.Length; i++)
            {
                Console.Write(values[i] + "\n");
            }
            Console.WriteLine();
        }

    }


Copy&Paste above code in your console application and run the program to see the final output.

Three Restriction of using Params keyword in c#

We can send only comma separated list of arguments to a method.

No additional parameters are permitted after the params keyword in a method declaration.

Only one params keyword is permitted in a method declaration.

Hey friend..!This is about params keyword in c-sharp if you have any doubts in using params keyword please feel free to ask me or if you want to give me feed-back you are most welcome. Your valuable feed-back will help me to grow. Kindly share this post on your social channels - Google+, Facebook and twitter. Post your Feed-Back and Doubts in the comment section below.

 

 

:: SHARE THIS POST ::

        
 

More C# Articles To Read Next:

 
Mar
24
2014

C# While Loop with an example using break and continue statements inside while loop

CLICK TO READ FULL ARTICLE

Views - 12267 |Category - C#

Mar
20
2014

How to deploy an assembly into GAC(Global Assembly Cache) ?

CLICK TO READ FULL ARTICLE

Views - 20497 |Category - C#

Mar
14
2014

Understanding concept of Concat,Substring methods of a string class ?

CLICK TO READ FULL ARTICLE

Views - 5526 |Category - C#

Mar
10
2014

C# if and nested if conditional statements with an example?

CLICK TO READ FULL ARTICLE

Views - 14858 |Category - C#

Mar
08
2014

Practical - Count repeated words in a string using Regular Expression ?

CLICK TO READ FULL ARTICLE

Views - 7773 |Category - C#

 
Author: Gurunatha Dogi
is a software engineer by profession and founder of Onlinebuff.com, Onlinebuff is a tech blog which covers topics on .NET Fundamentals, Csharp, Asp.Net, PHP, MYSQL, SQL Server, Cell Phones and lots more. Follow me @ and twitter.
Leave a Comment......

All fields marked with * are mandatory

05699

 

 
Comments

Posted by V.sravani on 2015-02-06

The solution for the params is very nice to understand