Programing/C#

C# 프로그래밍의 기초 : 다차원 배열

유니얼 2024. 3. 3. 00:52
728x90

C#에서 다차원 배열은 행렬(matrix) 또는 그리드(grid) 형태의 데이터를 저장하고 관리하는 데 유용한 데이터 구조입니다. 다차원 배열을 활용하면 더 복잡한 데이터 구조를 효과적으로 표현할 수 있으며, 데이터 간의 관계를 명확하게 표현할 수 있습니다.

다차원 배열의 선언과 초기화

다차원 배열은 아래와 같이 선언하고 초기화할 수 있습니다. 예를 들어, int[,]는 2차원 정수 배열을 선언하는 방법입니다. 배열의 각 차원의 크기는 콤마로 구분하여 지정합니다.

int[,] matrix = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

위 예제에서 matrix는 3x3 크기의 2차원 배열을 선언하고 초기화합니다. 이 배열은 3개의 행과 3개의 열을 가지며, 각 요소는 초기값으로 할당됩니다.

다차원 배열의 사용

다차원 배열의 각 요소에 접근하기 위해서는 인덱스를 사용합니다. 인덱스는 0부터 시작하며, 각 차원의 인덱스를 콤마로 구분하여 지정합니다.

Console.WriteLine(matrix[0, 1]); // 출력: 2

위 코드는 matrix 배열의 첫 번째 행, 두 번째 열에 위치한 요소에 접근하여 그 값을 출력합니다.

다차원 배열의 활용

다차원 배열은 게임 개발, 과학 및 공학 계산, 이미지 처리 등 다양한 분야에서 활용될 수 있습니다. 예를 들어, 2차원 배열을 사용하여 게임 맵을 표현하거나, 과학 계산에서는 2차원 또는 3차원 배열을 사용하여 데이터를 처리합니다. 이미지 처리에서는 픽셀 데이터를 저장하기 위해 다차원 배열을 사용할 수도 있습니다.

예제: 2차원 배열 순회

using System;

class Program
{
    static void Main(string[] args)
    {
        // 2차원 배열 선언 및 초기화
        int[,] matrix = {
                {1, 2, 3},
                {4, 5, 6},
                {7, 8, 9}
            };

        // 특정 요소에 접근하여 출력
        Console.WriteLine("특정 요소 접근: " + matrix[0, 1]); // 출력: 2

        // 2차원 배열의 모든 요소를 순회하여 출력
        Console.WriteLine("2차원 배열 순회:");
        for (int i = 0; i < matrix.GetLength(0); i++) // GetLength(0)는 첫 번째 차원의 크기를 반환
        {
            for (int j = 0; j < matrix.GetLength(1); j++) // GetLength(1)는 두 번째 차원의 크기를 반환
            {
                Console.Write(matrix[i, j] + " ");
            }
            Console.WriteLine(); // 각 행이 끝날 때마다 줄바꿈
        }
        //결론
        // 특정 요소 접근: 2
        // 2차원 배열 순회:
        // 1 2 3 
        // 4 5 6 
        // 7 8 9 
    }
}

위 예제는 matrix 2차원 배열의 모든 요소를 순회하며 출력하는 방법을 보여줍니다. GetLength(0)은 배열의 첫 번째 차원(행)의 크기를 반환하고, GetLength(1)은 배열의 두 번째 차원(열)의 크기를 반환합니다.

결론

다차원 배열은 C#에서 복잡한 데이터 구조를 효율적으로 관리하고 표현할 수 있는 강력한 도구입니다. 다차원 배열의 이해와 적절한 활용은 데이터 관리의 효율성을 높이고, 프로그램의 성능을 최적화하는 데 도움이 됩니다.

반응형