Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# Array.Rank 속성으로 배열의 차원 수 확인하는 방법

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 속성은 배열이 몇 차원인지 한눈에 파악할 수 있게 해주며, 동적으로 생성된 배열의 구조를 검증하거나 제네릭한 배열 처리 로직을 작성할 때 특히 유용하게 활용됩니다.