2D 배열 요소에 접근하기
Coddy C# 여정의 논리 및 흐름 섹션에 포함된 레슨. 66개 중 3번째.
2D 배열의 요소에 액세스하려면 일반 배열과 비슷한 구문을 사용하지만, 두 개의 인덱스가 필요합니다. 하나는 행을 위한 것이고 다른 하나는 열을 위한 것입니다.
참고: C#에는 다차원 배열의 두 가지 종류가 있습니다. 직사각형 배열(int[,])과 가변 배열(int[][])입니다. 이 단원에서는 각 행이 자체 배열인 가변 배열을 다룹니다.
3개의 행과 4개의 열이 있는 가변 배열을 만드세요:
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];특정 위치(행 index 1, 열 index 2)에 값을 할당합니다:
grid[1][2] = 42;특정 위치(행 index 0, 열 index 3)에서 값을 읽습니다:
int value = grid[0][3];index는 0에서 시작하므로 행 index 0은 첫 번째 행이고 열 index 3은 네 번째 열입니다.
array 인덱스는 0부터 시작하므로 유효한 인덱스 범위는 다음과 같습니다:
- 행: 인덱스 0부터 2까지 (3행 array의 경우: 첫 번째 행은 인덱스 0, 두 번째 행은 인덱스 1, 세 번째 행은 인덱스 2)
- 열: 인덱스 0부터 3까지 (4열 array의 경우: 첫 번째 열은 인덱스 0, 두 번째 열은 인덱스 1 등)
grid[3][2]), IndexOutOfRangeException이 발생합니다.챌린지
중급세 개의 인수를 받는 getElement이라는 메서드를 작성하세요:
- 2차원 정수 배열(
int[][] matrix) - 행 인덱스(
int row) - 열 인덱스(
int col)
인덱스가 유효하면 메서드는 지정된 위치의 element를 반환해야 합니다. 두 인덱스 중 하나라도 범위를 벗어나면 메서드는 -1을 반환해야 합니다.
직접 해보기
public class GetElement
{
public static int getElement(int[][] array, int row, int col)
{
// 여기에 코드를 작성하세요
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리 및 흐름의 모든 레슨
직접 연습해 보세요: 온라인 C# 컴파일러