다차원 배열
격자와 가변 배열을 배워 보세요.
다차원 배열은(는) CoddyKit의 무료 C# Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C# Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C# Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
한 줄을 넘어서
지금까지 배열은 값이 한 줄로 들어 있는 구조였습니다. 다차원 배열은 행과 열이 있는 스프레드시트처럼 값을 격자에 저장합니다.
게임 보드, 표, 행렬을 표현하는 데 유용합니다.
2차원 배열 선언하기
2차원 배열은 대괄호 안에 쉼표를 사용하여 [,]로 나타냅니다. 두 가지 크기, 즉 행의 개수와 열의 개수를 지정합니다.
이 격자는 행이 2개이고 열이 3개이므로 값 6개를 저장합니다.
int[,] grid = new int[2, 3];
Console.WriteLine(grid[0, 0]); // 0셀에 접근하기
셀을 읽거나 쓰려면 쉼표로 구분된 행과 열의 인덱스를 모두 지정하십시오.
두 인덱스 모두 1차원 배열과 마찬가지로 0부터 시작합니다.
int[,] grid = new int[2, 3];
grid[0, 1] = 7;
grid[1, 2] = 9;
Console.WriteLine(grid[1, 2]); // 9격자 초기화하기
중첩된 중괄호를 사용하여 생성할 때 2차원 배열을 채울 수 있습니다. 각각의 안쪽 그룹은 하나의 row입니다.
모든 행의 열 개수는 같아야 합니다.
int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid[1, 0]); // 4GetLength 메서드
차원이 두 개인 경우 Length는 전체 셀 개수를 반환합니다. 한 차원의 크기를 얻으려면 GetLength를 사용하십시오.
GetLength(0)은 행의 개수이고 GetLength(1)은 열의 개수입니다.
int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid.Length); // 6
Console.WriteLine(grid.GetLength(0)); // 2
Console.WriteLine(grid.GetLength(1)); // 3격자 반복하기
모든 셀을 방문하려면 행을 위한 반복문을 열을 위한 반복문 안에 넣으십시오. 바깥 반복문은 한 row를 선택하고, 안쪽 반복문은 해당 row의 열을 순회합니다.
GetLength를 사용하여 반복문이 실제 크기에 맞도록 하십시오.
int[,] grid = { { 1, 2 }, { 3, 4 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
for (int c = 0; c < grid.GetLength(1); c++)
{
Console.WriteLine(grid[r, c]);
}
}전체 격자 프로그램
이 완성된 프로그램은 작은 격자를 만든 다음 각 값을 해당 row와 열과 함께 출력합니다.
실행하여 네 셀이 모두 나열되는 모습을 확인해 보십시오.
int[,] grid = { { 10, 20 }, { 30, 40 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
for (int c = 0; c < grid.GetLength(1); c++)
{
Console.WriteLine("[" + r + "," + c + "] = " + grid[r, c]);
}
}3차원
쉼표를 더 추가하면 차원을 늘릴 수 있습니다. 3차원 배열은 [,,]와 세 가지 크기를 사용합니다.
격자를 여러 개 쌓아 놓은 것으로 생각하면 됩니다. 사용 빈도는 낮지만 같은 규칙을 따릅니다.
int[,,] cube = new int[2, 2, 2];
cube[1, 1, 1] = 5;
Console.WriteLine(cube[1, 1, 1]); // 5가변 배열
가변 배열은 배열의 배열이며 [][]로 작성합니다. 직사각형 격자와 달리 각 행의 길이가 다를 수 있습니다.
두 쌍의 대괄호를 사용하여 접근합니다.
int[][] jagged = new int[2][];
jagged[0] = new int[] { 1, 2 };
jagged[1] = new int[] { 3, 4, 5 };
Console.WriteLine(jagged[1][2]); // 5직사각형 배열과 가변 배열 비교
직사각형 [,] 배열은 항상 길이가 같은 행을 가지며 데이터를 조밀하게 저장합니다. 가변 [][] 배열은 행마다 다른 길이를 허용합니다.
실제 표에는 직사각형 배열을 사용하고, 행의 크기가 자연스럽게 달라질 때는 가변 배열을 선택하십시오.
int[][] rows = { new[] { 1 }, new[] { 2, 3, 4 } };
Console.WriteLine(rows[0].Length); // 1
Console.WriteLine(rows[1].Length); // 3격자 합산하기
중첩된 반복문 안에서 각 셀을 더하면 격자의 모든 값을 합산할 수 있습니다.
이 패턴은 행과 열의 개수에 관계없이 적용할 수 있습니다.
int[,] grid = { { 1, 2 }, { 3, 4 } };
int total = 0;
foreach (int v in grid)
{
total += v;
}
Console.WriteLine(total); // 10빠른 확인
다차원 배열에 대한 이해도를 확인해 보십시오.
복습
[,]를 사용하여 격자를 만들고, 행과 열의 인덱스로 셀에 접근하며, GetLength로 크기를 측정하는 방법을 배웠습니다.
중첩된 반복문은 모든 셀을 방문하고, 쉼표를 추가하면 차원이 늘어나며, 가변 [][] 배열은 길이가 서로 다른 행을 허용합니다. 이제 C#에서 데이터 표를 저장하고 처리할 수 있습니다.
AI 튜터와 함께 C#을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 93
- 레슨
- 346
자주 묻는 질문
“다차원 배열” 강의는 무료인가요?
네 — “다차원 배열” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 C# Academy 강의 전체를 잠금 해제할 수 있습니다. C# Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“다차원 배열”에서 뭘 배우나요?
격자와 가변 배열을 배워 보세요. 브라우저에서 직접 실행하는 실습 코드로 C# Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
C# Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 C# Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“다차원 배열” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 C# Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 C# Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.