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

C#에서 다차원 배열을 초기화하는 방법 완벽 정리

C# 다차원 배열이란?

다차원 배열 중 가장 단순하고 기본적인 형태는 2차원 배열입니다. 2차원 배열은 쉽게 말해 여러 개의 1차원 배열을 하나로 묶은 목록이라고 할 수 있으며, 행과 열로 구성된 표 형태의 데이터를 다룰 때 매우 유용합니다.

다차원 배열 초기화 방법

C#에서 다차원 배열은 각 행의 초기값을 중괄호({ })로 묶어 지정하는 방식으로 선언과 동시에 초기화할 수 있습니다. 아래 코드는 3행 4열 크기의 int형 2차원 배열을 초기화하는 예시입니다.

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

참고로, 배열의 크기를 생략하고 축약형으로 작성하는 것도 가능합니다. 컴파일러가 초기값의 개수를 바탕으로 배열 크기를 자동으로 추론합니다.

int[] b = { {0, 1}, {2, 3} };

예제: 2차원 배열 선언 및 순회하기

다음 예제는 C#에서 2차원 배열을 선언·초기화한 뒤, 중첩 for문을 사용하여 배열의 모든 요소 값을 출력하는 전체 과정을 보여줍니다.

코드

using System;

namespace ArrayApplication {
   class MyArray {
      static void Main(string[] args) {
         /* 3행 2열 크기의 배열 */
         int[] a = new int[3, 2] {{0,0}, {1,2}, {2,4}};
         int i, j;
         /* 각 배열 요소의 값을 출력 */
         for (i = 0; i < 3; i++) {
            for (j = 0; j < 2; j++) {
               Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i,j]);
            }
         }
         Console.ReadKey();
      }
   }
}

실행 결과

a[0,0] = 0
a[0,1] = 0
a[1,0] = 1
a[1,1] = 2
a[2,0] = 2
a[2,1] = 4

출력 결과를 보면 첫 번째 인덱스는 행(row), 두 번째 인덱스는 열(column)을 나타내며, a[i,j]처럼 쉼표로 인덱스를 구분하는 문법을 사용합니다. 한 가지 주의할 점은 C#의 2차원 배열은 직사각형(rectangular) 형태라는 것입니다. 행마다 길이가 다른 배열이 필요하다면 '가변 배열(jagged array)'인 int[][] 형태를 사용해야 하며, 이는 자바나 C++의 다차원 배열과 문법적으로 다른 부분이므로 헷갈리지 않도록 주의하세요.