ecsimsw

C# / Params 본문

C# / Params

JinHwan Kim 2019. 3. 15. 05:51

params

  • - params는 함수에 가변 개수의 파라미터를 정의하기 위한 키워드다.
      더하기 함수를 만든다고 가정하자. 더하기 함수의 피연산자의 개수가 고정적이라면 거기에 맞는 함수를 만드는 것은 문제가 없을 것이다.
      예를 들어 두개의 피연산자만을 갖는 덧셈이라면 파라미터에 두 변수를, 세개의 피연사자만을 갖는 덧셈이라면 파라미터에 세개를 주면 되는 것이다. 또, 2개일 때도 있고, 3개일 때도 있다면 단순히 개수로 오버로딩 시켜 함수를 정의하면 된다.
      params 키워드는 이렇게 고정적이거나 단순한 상황이 아닌, 말그대로 파라미터의 변수 개수가 가변적일 때 사용한다. 한 함수만으로 파라미터가 몇 개 일때 이든 처리할 수 있는 것이다.
    "params example" class program { static void Main(string[] args) { add(1, 2); add(1, 2, 3); add(1, 2, 3, 4); addMany(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); } static void add(int a, int b) { Console.WriteLine(a + b); } static void add(int a, int b, int c) { Console.WriteLine(a + b + c); } static void add(int a, int b, int c, int d) { Console.WriteLine(a + b + c + d ); } static void addMany(params int[] args) { int sum = 0; foreach (int i in args) { sum += i; } Console.WriteLine(sum); } }
Comments