Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# params 키워드로 가변 개수 인수를 처리하는 매개변수 배열 사용법

메서드를 선언할 때 매개변수로 전달될 인수의 개수를 미리 정확히 알 수 없는 경우가 있습니다. 이럴 때 C#의 params 배열(가변 길이 매개변수)을 사용하면 개수에 상관없이 인수를 유연하게 전달하고 처리할 수 있습니다.

params 키워드는 다음과 같이 선언합니다.

public int AddElements(params int[] arr) {
}

params로 선언된 매개변수는 호출 시 쉼표로 구분된 여러 개의 값을 받아 자동으로 배열로 변환되며, 메서드 내부에서는 일반 배열처럼 다룰 수 있습니다.

C#에서 params를 구현하는 전체 예제

using System;

namespace Program {
    class ParamArray {
        public int AddElements(params int[] arr) {
            int sum = 0;

            foreach (int i in arr) {
                sum += i;
            }
            return sum;
        }
    }
    class Demo {
        static void Main(string[] args) {
            ParamArray app = new ParamArray();
            int sum = app.AddElements(300, 250, 350, 600, 120);

            Console.WriteLine("합계: {0}", sum);
            Console.ReadKey();
        }
    }
}

실행 결과

합계: 1620

params 사용 시 주의 사항

params를 올바르게 활용하려면 다음 규칙을 기억하는 것이 좋습니다.

- 하나의 메서드에는 params 매개변수를 하나만 선언할 수 있습니다.
- params 매개변수는 반드시 매개변수 목록의 마지막에 위치해야 합니다.
- params 매개변수의 형식은 반드시 1차원 배열이어야 합니다.
- 호출 시 인수를 아예 전달하지 않으면 빈 배열이 전달됩니다.

이처럼 params 키워드를 사용하면 인수의 개수가 정해지지 않은 메서드도 간결하고 직관적으로 작성할 수 있습니다.