C#, 가변길이 매개변수(params)
C#에서는 메소드를 선언할 때 params 키워드를 지정하여 개수가 가변적인 매개변수를 메소드에 전달할 수 있다. 매개변수 목록에는 일반적인 매개변수도 포함될 수 있지만 params 키워드를 사용하여 선언한 매개변수는 목록의 맨 마지막에 사용해야 한다.(매개변수의 개수를 이용한 메소드의 오버로딩은 사용 안 해도 될 것 같다.)
using System;
namespace ConsoleApplication1
{
class Program
{
private static void OnjSum(string title, params int[] num)
{
int sum = 0;
Console.WriteLine("Sum of {0}", title);
foreach(int i in num) sum += i;
Console.WriteLine("Sum :: {0}\n", sum);
}
static void Main(string[] args)
{
int[] onjArray = new int[2] { 1, 2 };
OnjSum("숫자하나", 1);
OnjSum("숫자둘", 1, 2);
OnjSum("숫자셋", 1, 2, 3);
OnjSum("배열", onjArray);
}
}
}
[결과]
Sum of 숫자하나
Sum :: 1
Sum of 숫자둘
Sum :: 3
Sum of 숫자셋
Sum :: 6
Sum of 배열
Sum :: 3