[C#] params 키워드

alsry._.112·2023년 10월 24일

c#

목록 보기
1/5

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 키워드를 사용하면 개수의 제한 없이 배열로 매개변수를 넘길 수 있게 된다.

개수가 변하는 인자들을 매개변수로 넘겨야 할때 사용하면 유용할 것 같다!

profile
소통해요

0개의 댓글