BitArray는 System.Collections 네임스페이스에 속한 컬렉션 클래스로, 불리언(Boolean) 값을 비트 단위로 저장하고 관리하는 데 사용됩니다. 특정 위치의 비트 값을 가져오려면 Get() 메서드를 호출하거나 인덱서를 활용하면 됩니다.
예제 1: Get() 메서드로 비트 값 조회하기
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("BitArray1 first element = " + arr1.Get(0));
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 BitArray1 first element = False BitArray2 length = 2 Elements in BitArray2... False True Is BitArray1 equal to BitArray2? = False
위 예제에서 arr1.Get(0)은 첫 번째 위치의 비트 값인 False를 반환합니다. 또한 Equals() 메서드를 사용하면 두 BitArray 객체가 서로 같은지 비교할 수 있으며, 이 경우 두 배열은 별개의 인스턴스이므로 결과가 False로 출력됩니다.
예제 2: 여러 위치의 비트 값 확인하기
using System;
using System.Collections;
public class Demo {
public static void Main() {
BitArray arr = new BitArray(5);
arr[0] = false;
arr[1] = true;
arr[2] = false;
arr[3] = true;
Console.WriteLine("BitArray length = " + arr.Length);
Console.WriteLine("BitArray first element = " + arr.Get(0));
Console.WriteLine("BitArray second element = " + arr.Get(1));
}
}실행 결과
BitArray length = 5 BitArray first element = False BitArray second element = True
핵심 정리
Get(int index): 지정한 인덱스 위치의 비트 값을bool타입으로 반환합니다.- 인덱서(
arr[index])를 통해서도 동일하게 값을 읽거나 설정할 수 있습니다. Length속성으로 BitArray에 포함된 비트의 총 개수를 확인할 수 있습니다.- 인덱스는 0부터 시작하며, 유효 범위를 벗어나면
ArgumentOutOfRangeException이 발생하므로 주의해야 합니다.