English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C# 다차원 배열

C#는 최대32차원의 다차원 배열입니다. 괄호에 쉼표를 추가하여 다차원 배열을 선언할 수 있습니다. 예를 들어, [ ]는 두차원 배열을, [ , ]는 삼차원 배열을, [ , , ]는 네차원 배열을, 이렇게 계속하여 선언할 수 있습니다. 따라서 다차원 배열에서 쉼표의 개수는 차원의 개수와 일치합니다-1。

다차원 배열을 선언

int[, ,] arr2d; // 두차원 배열
int[, ,] arr3d; // 삼차원 배열
int[, , ,] arr4d; // 사원 배열
int[, , , ,] arr5d; // 오차원 배열

두차원 배열

두차원 배열에 대해 이해해 보겠습니다. 다음은 두차원 배열을 초기화하는 예제입니다.

int[, ,] arr2d = new int[3,2]{ 
                                {1, 2}, 
                                {3, 4}, 
                                {5, 6} 
                            };
//또는 
int[, ,] arr2d = { 
                    {1, 2}, 
                    {3, 4}, 
                    {5, 6} 
                };

위의 두차원 배열 예제에서 볼 수 있듯이, [3،2]는 행과 열의 수를 정의합니다. 첫 번째 열은 행 수를 나타내며, 두 번째 열은 열 수를 정의합니다. 아래 그림은 행과 열로 나누어진 두차원 배열을 보여줍니다.

두차원 배열

두차원 배열의 다음 접근 값.

int[, ,] arr2d = new int[3,2]{ 
                                {1, 2}, 
                                {3, 4}, 
                                {5, 6} 
                            };
arr2d[0, 0]; //반환1
arr2d[0, 1]; //반환2
arr2d[1, 0]; //반환3
arr2d[1, 1]; //반환4
arr2d[2, 0]; //반환5
arr2d[2, 1]; //반환6
//arr2d[3, 0]; //실행 중 오류를 발생시킵니다.因为没有第四行

위의 예제에서 볼 수 있듯이, 두차원 배열의 값을 행과 열의 인덱스 번호[행 인덱스, 열 인덱스]를 통해 접근할 수 있습니다. 따라서 [0, 0]은 첫 번째 행과 첫 번째 열을 반환합니다[1, 1]의 값을 반환하며, 두 번째 행과 두 번째 열의 값을 반환합니다.

삼차원 배열

지금, 삼차원 배열에 대해 이해해 보겠습니다. 다음은 삼차원 배열을 선언하고 초기화하는 예제입니다.

int[, ,] arr3d1 = new int[1, 2, 2]{
                { { 1, 2} 3, 4}
            };
int[, ,] arr3d2 = new int[2, 2, 2]{
                { {1, 2}3, 4} },
                { {5, 6}7, 8}
            };
int[, ,] arr3d3 = new int[2, 2, 3]{
                { { 1, 2, 3}4, 5, 6} },
                { { 7, 8, 9}10, 11, 12}
            };
arr3d2[0, 0, 0]; // 반환1 
arr3d2[0, 0, 1]; // 반환2 
arr3d2[0, 1, 0]; // 반환3 
arr3d2[0, 1, 1]; // 반환4 
arr3d2[1, 0, 0]; // 반환5 
arr3d2[1, 0, 1]; // 반환6 
arr3d2[1, 1, 0]; // 반환7 
arr3d2[1, 1, 1]; // 반환8

위의 예제에서 볼 수 있듯이, arr3d1의[1,2,2]를 지정하면 그것이 포함할 두차원 배열[2,2] 중 하나의 행을 나타냅니다. arr3d2지정된 차원[2,2,2를 포함한 두차원 배열[2,2의 두 행입니다. 따라서 첫 번째 열은 내부 두차원 배열의 행 수를 나타냅니다.

사원 배열

이제 아래의 네 차원 배열을 보겠습니다。

int[,,,] arr4d1 = new int[1, 1, 2, 2]{
                { 
                    { { 1, 2} 3, 4}     
                }
            };
arr4d1[0, 0, 0, 0]; // 반환1
arr4d1[0, 0, 0, 1]; // 반환2
arr4d1[0, 0, 1, 0]; // 반환3
arr4d1[0, 0, 1, 1]; // 반환4
int[,,,] arr4d2 = new int[1, 2, 2, 2]{
		{
			{ {1, 2}3, 4} },
			{ {5, 6}7, 8}
		}
	};
arr4d2[0, 0, 0, 0]; // 반환1
arr4d2[0, 0, 0, 1]; // 반환2
arr4d2[0, 0, 1, 0]; // 반환3
arr4d2[0, 0, 1, 1]; // 반환4
arr4d2[0, 1, 0, 0]; // 반환5
arr4d2[0, 1, 0, 1]; // 반환6
arr4d2[0, 1, 1, 0]; // 반환7
arr4d2[0, 1, 1, 1]; // 반환8

위의 예제에서는 네 차원 배열 arr4d1지정[1、1、2、2],이는 3차원 배열의 한 행을 포함한다는 의미입니다。

같은 방식으로,C#에서 선언하고 초기화할 수 있습니다.5차원,6차원 배열 및 최대32차원 배열.