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

C#에서 직사각형(다차원) 배열을 정의하고 사용하는 방법

C# 직사각형 배열이란?

다차원 배열(multi-dimensional array)은 흔히 직사각형 배열(rectangular array)이라고도 불립니다. 이름 그대로 각 행의 길이가 동일하여 전체가 직사각형 형태를 이루는 배열입니다. C#의 직사각형 배열은 쉼표(,)를 사용하여 차원을 구분하며, 2차원뿐 아니라 3차원 이상으로도 선언할 수 있습니다.

예를 들어, 3차원 정수 배열은 다음과 같이 선언합니다.

int[ , ] a;

2차원 배열을 선언하고 실제 메모리에 할당하는 방법은 아래와 같습니다.

int[] a = new int[3, 3];

위 코드는 3행 3열 크기의 2차원 배열을 생성합니다. 이처럼 new 키워드와 함께 각 차원의 크기를 지정하면 배열이 초기화되며, 모든 요소는 기본값인 0으로 설정됩니다.

예제 코드

다음 예제는 C#에서 다차원(직사각형) 배열을 선언하고, 요소에 값을 할당한 후 중첩 반복문을 통해 전체 요소를 출력하는 방법을 보여줍니다.

using System;

namespace Demo {

    class Program {
        static void Main(string[] args) {

            // 3x3 크기의 2차원 배열 선언 및 생성
            int[] a = new int[3, 3];

            // 배열 요소에 값 할당
            a[0,1] = 1;
            a[0,2] = 2;
            a[1,0] = 3;
            a[1,1] = 4;
            a[1,2] = 5;
            a[2,0] = 6;
            a[2,1] = 7;
            a[2,2] = 8;

            int i, j;

            // 중첩 for 루프로 모든 요소 출력
            for (i = 0; i < 3; i++) {
                for (j = 0; j < 3; j++) {
                    Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i,j]);
                }
            }
            Console.ReadKey();
        }
    }
}

실행 결과

프로그램을 실행하면 아래와 같이 각 인덱스 위치의 값이 순서대로 출력됩니다. 값을 할당하지 않은 a[0,0] 요소는 기본값인 0이 그대로 유지되는 것을 확인할 수 있습니다.

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

정리

C#의 직사각형 배열은 쉼표(,)로 차원을 구분하여 선언하며, new int[행, 열] 형태로 생성합니다. 모든 행의 길이가 동일해야 한다는 특징이 있으며, 각 행의 길이가 서로 다른 배열이 필요하다면 가변 배열(jagged array), 즉 int[][] 형태의 배열-of-배열 구조를 사용하는 것이 적합합니다.