params

C#에서 가변 인자(Variable Arguments) 를 받을 수 있도록 해주는 문법

즉, 이 구문을 사용하면 함수에 인자의 개수를 정하지 않고 원하는 만큼 넘길 수 있다.

 

기본 구조

public void PrintAll(params object[] items)
{
    foreach (var item in items)
    {
        Debug.Log(item);
    }
}
PrintAll(1, "Hello", 3.14f, true, new Vector3());

 

위 코드는 내부적으로 object[] 배열로 변환된다.

 

new object[] { 1, "Hello", 3.14f, true, new Vector3() }

 

요약

특징  설명
params 키워드 가장 마지막 매개변수에만 사용 가능
object[] 모든 타입을 받을 수 있음 (boxing 발생 가능)
가변 인자 매개변수를 여러 개 넘기거나 안 넘겨도 됨
오버로딩 피하기 여러 타입의 오버로딩을 params 하나로 대체 가능

 

+ Recent posts