본문 바로가기

Programming/.NET

[C#] params

params는 메서드에 전달할 매개변수가 너무 많거나 몇개가 될지 예측할 수 없는 경우에 유용하게 사용될 수 있습니다.

 

static void Main()
{
     Console.WriteLine("return : {0}", plus(10, 20));
}

private static int plus(int a, int b)
{
     return a + b;
}

 

위 예제에서 현재 plus 메서드는 int형 매개변수 2개를 받도록 되어 있지만 더 많은 대상을 처리하려고 하는 경우

 

private static int plus(int a, int b, , int c, , int d, , int e, , int f....)
{
     return a + b + c + d + e + f....;
}

 

이런 형태로 계속해서 매개변수를 늘리는것은 효휼적이지 못할 것입니다.

 

private static int plus(params int[] num)
{
     int result = 0;

     for (int i = 0; i < num.Length; i++)
          result += num[i];

     return result;
}

 

이 예제는 params를 통해 가변적으로 매개변수를 받을 수 있는 방법을 보여주고 있습니다. 방식은 일반적인 배열과 비슷하게 처리하는 것인데 차이점이라면 메서드를 호출하는 쪽에서 배열전달을 위한 별도의 작업을 해줄 필요가 없고 보통 메서드를 호출하는 방식을 그대로 사용할 수 있다는 것입니다.

'Programming > .NET' 카테고리의 다른 글

[ASP.NET] 인증및 접근제어와 로그인  (1) 2019.04.11
[C#] yield  (0) 2019.04.02
[C#] params  (0) 2019.03.19
[C#] HttpWebRequest / HttpWebResponse / WebClient  (0) 2019.03.12
[C#] 시프트(Shift) 연산자  (0) 2019.03.05
[C#] 예외처리(try ~ catch)  (0) 2019.02.19