C#에서 배열이 몇 차원으로 이루어져 있는지 확인하려면 Rank 속성을 사용하면 됩니다. Rank는 해당 배열의 차원 수(랭크)를 정수 값으로 반환합니다.
arr.Rank
여기서 arr은 다음과 같이 선언된 2차원 배열입니다.
int[] arr = new int[3,4];
행과 열의 크기 구하기
배열의 차원 수뿐만 아니라 각 차원별 요소 개수, 즉 행과 열의 크기를 알고 싶다면 GetLength 메서드를 사용합니다. 인덱스 0은 첫 번째 차원(행), 인덱스 1은 두 번째 차원(열)을 의미합니다.
arr.GetLength(0); // 행의 개수 arr.GetLength(1); // 열의 개수
전체 예제 코드
다음은 Rank, GetLength, Length, GetUpperBound, GetLowerBound 등을 함께 활용한 완전한 예제 코드입니다.
using System;
class Program {
static void Main() {
int[] arr = new int[3,4];
// 행과 열의 크기
Console.WriteLine(arr.GetLength(0));
Console.WriteLine(arr.GetLength(1));
// 배열의 전체 요소 개수
Console.WriteLine(arr.Length);
// 상한 인덱스와 하한 인덱스
Console.WriteLine("Upper Bound: {0}", arr.GetUpperBound(0).ToString());
Console.WriteLine("Lower Bound: {0}", arr.GetLowerBound(0).ToString());
// 배열의 차원 수
Console.WriteLine("Dimensions of Array : " + arr.Rank);
}
}실행 결과
3 4 12 Upper Bound: 2 Lower Bound: 0 Dimensions of Array : 2
주요 속성 및 메서드 정리
- Rank: 배열의 차원 수를 반환합니다. 위 예제에서는 2차원 배열이므로 2가 출력됩니다.
- GetLength(dimension): 지정한 차원의 요소 개수를 반환합니다.
GetLength(0)은 행(3),GetLength(1)은 열(4)을 나타냅니다. - Length: 배열에 포함된 전체 요소의 총 개수를 반환합니다. 3 × 4 = 12가 됩니다.
- GetUpperBound(dimension): 지정한 차원의 최대 인덱스를 반환합니다. 0부터 시작하는 인덱스이므로 3개의 행에서 상한은 2입니다.
- GetLowerBound(dimension): 지정한 차원의 최소 인덱스를 반환합니다. 일반적인 배열에서는 항상 0입니다.
이처럼 C#에서는 Rank 속성 하나만으로 배열의 차원 수를 손쉽게 파악할 수 있으며, GetLength 및 관련 메서드들을 조합하면 배열의 구조를 자유롭게 탐색할 수 있습니다.