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

C#에서 메서드로 배열을 전달하는 방법 완벽 가이드

C#에서는 배열을 메서드의 인수(argument)로 전달할 수 있습니다. 이를 통해 여러 개의 값을 한 번에 함수에 넘기고 처리 결과를 받아올 수 있습니다.

배열 선언 및 초기화

먼저 다음과 같이 배열을 선언하고 초기화합니다.

MyArray app = new MyArray();
/* 5개의 요소를 가진 int 배열 */
int [] balance = new int[]{1000, 2, 3, 17, 50};

메서드에 배열 전달하기

이제 getAverage() 메서드를 호출하면서 배열을 인수로 전달합니다. 메서드 시그니처는 다음과 같습니다.

double getAverage(int[] arr, int size) {
    // 코드
}

메서드 매개변수로 int[] 타입을 선언하면 해당 배열 전체를 참조로 전달하게 됩니다. C#에서 배열은 참조 타입(reference type)이므로, 배열의 복사본이 아닌 원본 배열에 대한 참조가 전달됩니다.

전체 예제 코드

다음은 C#에서 메서드에 배열을 전달하는 방법을 보여주는 완전한 예제입니다.

using System;
namespace ArrayApplication {
    class MyArray {
        double getAverage(int[] arr, int size) {
            int i;
            double avg;
            int sum = 0;
            for (i = 0; i < size; ++i) {
                sum += arr[i];
            }
            avg = (double)sum / size;
            return avg;
        }
        static void Main(string[] args) {
            MyArray app = new MyArray();
            /* 5개의 요소를 가진 int 배열 */
            int [] balance = new int[]{1000, 2, 3, 17, 50};
            double avg;
            /* 배열에 대한 참조를 인수로 전달 */
            avg = app.getAverage(balance, 5 ) ;
            /* 반환된 값 출력 */
            Console.WriteLine( "Average value is: {0} ", avg );
            Console.ReadKey();
        }
    }
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

Average value is: 214.4

코드 설명

getAverage() 메서드는 배열과 배열의 크기를 매개변수로 받아, for 반복문으로 모든 요소의 합계를 구한 뒤 평균값을 계산하여 반환합니다. Main 메서드에서는 balance 배열과 크기 5를 인수로 전달하여 평균값인 214.4를 얻습니다.

이처럼 C#에서는 배열 이름만 메서드 인수로 넘기면 되며, 별도의 포인터 문법 없이 간단하게 배열을 전달할 수 있다는 점이 특징입니다.