params 키워드

가변 인수를 받는 메서드 매개변수. 매개변수 유형은 단일 차원 배열이어야 한다.

고객이 원하는 물건의 가격의 총액을 반환하는 메서드가 있다고 하자. 

static double CheckOut(double a)
{
    return a;
}
static double CheckOut(double a, double b)
{
    return a + b;
}
static double CheckOut(double a, double b, double c)
{
    return a + b + c;
}
static void Main(string[] args)
{
    double tortal = CheckOut(3.99, 5.57, 15);

    Console.WriteLine(tortal);
}

물건이 하나일 때, 2개일 때, 3개일 때 등 경우가 다양할 것이다. 그때마다 메서드를 새로 만들기는 번거로울 것이다.

params 키워드는 단일 메서드를 다양한 경우의 메서드가 필요한 경우에 사용할 수 있다.

static double CheckOut(params double[] prices)
{
    double total = 0;

    foreach (double price in prices) 
    {
        total += price;
    }

    return total;
}
static void Main(string[] args)
{
    double tortal = CheckOut(3.99, 5.75, 15, 1.00, 10.25);

    Console.WriteLine(tortal);
}

params 키워드를 사용하기 위해서는 params라는 단어가 포함된 데이터 타입과 대괄호([ ])를 사용하면 된다. 그럼 매개변수는 배열이 된다. 총액을 반환하기 위해 지역변수를 생성한다. 그리고 각 루프에 대해 반복하여 가격들을 더하기 위해 foreach문을 사용한다.이제 매개변수의 갯수를 다양하게 입력할 수 있다.

 

 

'C# > C#' 카테고리의 다른 글

27. 조건 연산자(Conditional Operator)  (0) 2023.10.11
26. 예외 처리(Exception)  (0) 2023.10.11
24. 오버로딩(Method Overloading)  (0) 2023.09.26
23. 리턴(Return Keyword)  (0) 2023.09.20
22. 메서드 (Methods)  (0) 2023.09.19

+ Recent posts