
c#에 대해 공부하다보니 매개변수에 params를 넣은 함수를 발견 하게 되었다.
public void PrintArr(params int[] vals)
{
foreach (int i in vals)
{
Console.WriteLine(i);
}
}
이 params 키워드에 무엇인지, 어떻게 사용되는지 알아보자.
params는 가변인자 매개변수라고 한다.
보통 함수의 매개변수로 배열을 넣을때는 아래 코드처럼
직접 배열을 선언하여 매개변수로 넣어주어야 한다.
internal class Program
{
static void Main(string[] args)
{
Num n = new Num();
int[] arr = new int[3]; //배열을 선언하여
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
n.PrintArray(arr); //매개변수로 넣어줌
}
}
class Num
{
public void PrintArray(int[] arr)
{
foreach (int value in arr)
{
Console.WriteLine(value);
}
}
}
하지만 가변인자 매개변수인 params 키워드를 매개변수의 자료형 앞에 써주게 되면
internal class Program
{
static void Main(string[] args)
{
Num n = new Num();
n.PrintArray(1,2,3,4); //매개변수로 넣어줌
}
}
class Num
{
public void PrintArray(params int[] arr)
{
foreach (int value in arr)
{
Console.WriteLine(value);
}
}
}
위 코드처럼 그냥 ,를 통해 넣어주기만 하면 된다.
이렇게 params 키워드를 사용하면 개수의 제한 없이 배열로 매개변수를 넘길 수 있게 된다.
개수가 변하는 인자들을 매개변수로 넘겨야 할때 사용하면 유용할 것 같다!