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

C# 다차원 배열 선언과 초기화 방법 총정리

C#은 다차원 배열(Multidimensional Array)을 지원합니다. 다차원 배열이란 두 개 이상의 차원을 가진 배열을 의미하며, 표 형태의 데이터를 다룰 때 특히 유용합니다.

2차원 배열 선언하기

문자열 타입의 2차원 배열은 다음과 같이 선언할 수 있습니다.

string[] names;

2차원 배열은 x개의 행(row)과 y개의 열(column)로 구성된 테이블 형태로 생각할 수 있습니다. 각 요소는 행과 열의 인덱스 조합으로 접근하게 됩니다.

다차원 배열 초기화하기

다차원 배열은 각 행에 해당하는 값을 중괄호({})로 묶어 나열하는 방식으로 초기화할 수 있습니다. 아래 예제는 4개의 행과 4개의 열을 가진 배열입니다.

int[] a = new int[4, 4] {
{0, 1, 2, 3},    /* 0번째 행의 초기값 */
{4, 5, 6, 7},    /* 1번째 행의 초기값 */
{8, 9, 10, 11},  /* 2번째 행의 초기값 */
{12, 13, 14, 15} /* 3번째 행의 초기값 */
};

참고로 위 코드에서 마지막 행 앞에 쉼표가 빠져 있으면 컴파일 오류가 발생하므로, 각 행의 끝에는 반드시 쉼표를 붙여야 합니다.

예제 코드

다음 예제를 통해 C#에서 다차원 배열을 실제로 어떻게 활용하는지 살펴보겠습니다. 이 코드는 5행 2열 크기의 배열을 생성하고, 중첩 for 문을 사용해 모든 요소의 값을 출력합니다.

using System;

namespace Program {
   class Demo {
      static void Main(string[] args) {
         /* 5개의 행과 2개의 열을 가진 배열 */
         int[] a = new int[5, 2] {{0,0}, {1,2}, {2,4}, {3,6}, {4,8}};
         int i, j;

         /* 배열의 각 요소 값을 출력 */
         for (i = 0; i < 5; i++) {
            for (j = 0; j < 2; j++) {
               Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i,j]);
            }
         }
         Console.ReadKey();
      }
   }
}

실행 결과

위 프로그램을 실행하면 행 인덱스(i)와 열 인덱스(j)가 순서대로 증가하면서 각 요소의 값이 출력됩니다.

a[0,0] = 0
a[0,1] = 0
a[1,0] = 1
a[1,1] = 2
a[2,0] = 2
a[2,1] = 4
a[3,0] = 3
a[3,1] = 6
a[4,0] = 4
a[4,1] = 8

정리

C#의 다차원 배열은 쉼표(,)를 사용해 차원을 구분하며, 배열명[행, 열] 형태로 요소에 접근합니다. 3차원 이상의 배열도 같은 방식으로 선언할 수 있으며(예: int[,] arr;), 데이터를 구조화하여 관리해야 하는 상황에서 매우 유용하게 활용됩니다.