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

C# BitArray의 요소 수 확인 및 설정하기 – Length 속성 완벽 가이드

C#에서 BitArray는 비트 값(bool)들의 컬렉션을 표현하는 클래스입니다. BitArray에 포함된 요소 수를 가져오거나 설정할 때는 Length 속성을 사용합니다.

Length 속성은 현재 BitArray에 저장된 요소의 개수를 반환하며, 값을 할당하면 배열의 크기를 동적으로 변경할 수도 있습니다. 아래 예제 코드를 통해 실제 사용 방법을 살펴보겠습니다.

예제 1 – 두 개의 BitArray 요소 수 확인

using System;
using System.Collections;
public class Demo {
   public static void Main() {
      BitArray arr1 = new BitArray(2);
      BitArray arr2 = new BitArray(2);
      arr1[0] = false;
      arr1[1] = true;
      Console.WriteLine("BitArray1 length = "+arr1.Length);
      Console.WriteLine("Elements in BitArray1...");
      foreach (bool res in arr1) {
         Console.WriteLine(res);
      }
      arr2[0] = false;
      arr2[1] = true;
      Console.WriteLine("\nBitArray2 length = "+arr2.Length);
      Console.WriteLine("Elements in BitArray2...");
      foreach (bool res in arr2) {
         Console.WriteLine(res);
      }
      Console.WriteLine("\nIs BitArray1 equal to BitArray2? = "+arr2.Equals(arr1));
   }
}

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

BitArray1 length = 2
Elements in BitArray1...
False
True
BitArray2 length = 2
Elements in BitArray2...
False
True
Is BitArray1 equal to BitArray2? = False

출력 결과에서 볼 수 있듯이, 각 BitArray의 Length 속성은 생성 시 지정한 크기인 2를 반환합니다. 또한 Equals() 메서드로 두 배열을 비교한 결과가 False인 점에 주목하세요. BitArray는 내부적으로 참조를 비교하기 때문에 요소 값이 같더라도 서로 다른 인스턴스면 False를 반환합니다.

예제 2 – 서로 다른 크기의 BitArray 비교

이번에는 크기가 다른 두 개의 BitArray를 생성하여 Length 속성값이 어떻게 달라지는지 확인해 보겠습니다.

using System;
using System.Collections;
public class Demo {
   public static void Main() {
      BitArray arr1 = new BitArray(2);
      BitArray arr2 = new BitArray(1);
      arr1[0] = false;
      arr1[1] = true;
      Console.WriteLine("BitArray1 length = "+arr1.Length);
      Console.WriteLine("Elements in BitArray1...");
      foreach (bool res in arr1) {
         Console.WriteLine(res);
      }
      Console.WriteLine("\nBitArray2 length = "+arr2.Length);
      Console.WriteLine("Elements in BitArray2...");
      foreach (bool res in arr2) {
         Console.WriteLine(res);
      }
   }
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

BitArray1 length = 2
Elements in BitArray1...
False
True
BitArray2 length = 1
Elements in BitArray2...
False

정리

BitArray의 요소 수를 다룰 때 기억해야 할 핵심 사항은 다음과 같습니다.

  • Length 속성: BitArray에 포함된 요소(비트)의 총 개수를 반환합니다.
  • 크기 설정: Length 속성에 새로운 값을 할당하면 BitArray의 크기를 늘리거나 줄일 수 있습니다.
  • foreach 순회: BitArray는 IEnumerable을 구현하므로 foreach 문으로 각 bool 요소를 손쉽게 순회할 수 있습니다.

이처럼 Length 속성만 활용하면 BitArray의 크기를 자유롭게 조회하고 관리할 수 있습니다.