C#에서 Array.Rank 속성은 배열의 차원 수(rank)를 반환합니다. 다차원 배열을 다룰 때 해당 배열이 몇 차원으로 구성되어 있는지 확인해야 하는 경우가 종종 있는데, 이때 Rank 속성을 사용하면 아주 간단하게 차원 정보를 얻을 수 있습니다.
사용법은 매우 직관적입니다. 배열 객체에 마침표(.) 연산자를 붙여 Rank를 호출하기만 하면 됩니다.
arr.Rank
여기서 arr은 차원을 확인하려는 대상 배열입니다.
int[] arr = new int[5,5];
GetLength로 행과 열 크기 확인하기
배열의 차원 수뿐만 아니라 각 차원의 실제 크기, 즉 행과 열의 개수를 알고 싶다면 GetLength 메서드를 사용하면 됩니다. 인덱스 0은 첫 번째 차원(행), 인덱스 1은 두 번째 차원(열)에 해당합니다.
arr.GetLength(0);
arr.GetLength(1);
추가로 GetUpperBound는 지정한 차원의 최대 인덱스를, GetLowerBound는 최소 인덱스를 반환하므로, 이들을 함께 활용하면 배열의 구조를 더욱 상세하게 파악할 수 있습니다.
전체 예제 코드
지금까지 살펴본 속성과 메서드를 모두 활용한 완전한 코드는 다음과 같습니다.
using System;
class Program {
static void Main() {
int[] arr = new int[4,5];
Console.WriteLine(arr.GetLength(0));
Console.WriteLine(arr.GetLength(1));
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);
}
}
실행 결과
4
5
Upper Bound: 3
Lower Bound: 0
Dimensions of Array : 2
결과 해석
- GetLength(0) → 4 : 첫 번째 차원(행)의 크기
- GetLength(1) → 5 : 두 번째 차원(열)의 크기
- GetUpperBound(0) → 3 : 첫 번째 차원의 최대 인덱스 (크기 4이므로 인덱스는 0~3)
- GetLowerBound(0) → 0 : 첫 번째 차원의 최소 인덱스 (C# 배열은 기본적으로 0부터 시작)
- Rank → 2 : 해당 배열은 2차원 배열임을 의미
이처럼 Rank 속성은 배열이 몇 차원인지 한눈에 파악할 수 있게 해주며, 동적으로 생성된 배열의 구조를 검증하거나 제네릭한 배열 처리 로직을 작성할 때 특히 유용하게 활용됩니다.