C# - 2차원 배열 선언, 초기화 방법

2차원 배열을 선언하고 초기화하는 방법을 소개합니다.

1. 2차원 배열 선언

2차원 배열인, 3행 2열 배열을 선언하려면 아래와 같이 선언할 수 있습니다. 초기 값을 설정하지 않았기 때문에 기본적으로 모든 값들이 0으로 설정됩니다.

int[,] arr = new int[3, 2];

만약 초기 값을 설정하고 싶다면, { ... }를 이용하여 2차 배열의 초기 값들을 설정할 수 있습니다.

int[,] arr = new int[3, 2] {
    {1, 2},
    {3, 4},
    {5, 6}
};

위의 코드를 더 간단히 작성하려면, new int[3, 2]와 같은 코드를 제거하고 { ... }만 입력하셔도 됩니다.

int[,] arr = {
    {1, 2},
    {3, 4},
    {5, 6}
};

2. 2차원 배열 값 접근

2차원 배열에 접근할 때, arr[i, j]와 같은 방식으로 접근할 수 있습니다.

int[,] arr = {
    {1, 2},
    {3, 4},
    {5, 6}
};

// get
Console.WriteLine("arr[1, 0] : " + arr[1, 0]);

// set
arr[1, 0] = 10;

Output:

arr[1, 0] : 3

3. for문으로 2차원 배열 순회

for문으로 2차원 배열을 순회할 때, 행과 열의 길이를 알아야하는데요.

아래와 같은 함수를 이용하여 행, 열의 길이를 가져와서 for문으로 배열을 순회할 수 있습니다.

  • array.GetLength(0) : 2차 배열에서 행(row)의 길이를 리턴
  • array.GetLength(1) : 2차 배열에서 열(column)의 길이를 리턴

아래 예제는 2차 배열의 모든 요소들을 순회하면서 출력하는 예제입니다.

using System;

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

            int[,] arr = {
                {1, 2},
                {3, 4},
                {5, 6}
            };

            for (int i = 0; i < arr.GetLength(0); i++) {
                for (int j = 0; j < arr.GetLength(1); j++) {
                    Console.Write(arr[i, j] + " ");
                }
                Console.WriteLine();
            }
        }
    }
}

Output:

1 2
3 4
5 6
Loading script...
codechachaCopyright ©2019 codechacha