C#에서 배열을 메서드로 전달하는 방법은 간단합니다. 다른 변수와 마찬가지로 배열을 메서드의 인수(argument)로 넘겨주면 됩니다. 이때 매개변수는 배열 타입으로 선언해야 합니다.
배열을 받는 메서드 선언하기
아래와 같이 정수형 배열을 매개변수로 받는 메서드를 선언할 수 있습니다.
int displaySum(int[] arr, int size) {
}메서드 호출하기
메서드를 호출할 때는 배열 이름과 크기를 인수로 전달합니다.
sum = d.displaySum(myArr, 5);
전체 예제 코드
다음은 배열을 메서드에 전달하여 요소들의 합계를 구하는 완전한 예제입니다.
using System;
namespace Test {
class Demo {
// 배열과 크기를 받아 합계를 계산하는 메서드
int displaySum(int[] arr, int size) {
int i;
int sum = 0;
for (i = 0; i < size; ++i) {
sum += arr[i];
}
return sum;
}
static void Main(string[] args) {
Demo d = new Demo();
// 배열 초기화
int[] myArr = new int[] {59, 34, 76, 65, 12, 99};
int sum;
// 배열을 메서드에 전달
sum = d.displaySum(myArr, 5);
// 반환된 값 출력
Console.WriteLine("Sum: {0}", sum);
Console.ReadKey();
}
}
}실행 결과
Sum: 246
코드 설명
위 예제에서 displaySum 메서드는 두 개의 매개변수를 받습니다. 첫 번째는 int[] 타입의 배열이고, 두 번째는 반복문에서 사용할 배열의 크기입니다. 메서드 내부에서는 for 반복문을 사용해 배열의 각 요소를 순회하며 합계를 누적한 뒤, 최종 결과를 반환합니다.
Main 메서드에서는 6개의 요소를 가진 배열을 생성한 후, 앞의 5개 요소(59 + 34 + 76 + 65 + 12)의 합인 246이 출력되는 것을 확인할 수 있습니다.
참고 사항
C#에서 배열은 참조(reference) 타입이므로, 메서드에 배열을 전달하면 배열 자체가 복사되지 않고 배열의 참조가 전달됩니다. 따라서 메서드 내부에서 배열 요소를 수정하면 원본 배열에도 그 변경 사항이 반영됩니다.