C#의 BitArray 클래스는 비트(bit) 데이터를 저장해야 하는데, 그 개수를 사전에 정확히 알 수 없는 경우에 유용하게 사용됩니다. 비트 단위로 데이터를 관리할 수 있어 메모리 효율이 중요한 프로그램에서 특히 유용한 컬렉션입니다.
BitArray 클래스의 주요 속성
BitArray 클래스에서 자주 사용되는 대표적인 속성은 다음과 같습니다.
| 번호 | 속성 및 설명 |
|---|---|
| 1 | Count BitArray에 포함된 요소(비트)의 총 개수를 가져옵니다. |
| 2 | IsReadOnly BitArray가 읽기 전용인지 여부를 나타내는 값을 가져옵니다. |
| 3 | Item BitArray 내 특정 위치에 있는 비트 값을 가져오거나 설정합니다. |
| 4 | Length BitArray의 요소 개수를 가져오거나 설정합니다. |
IsReadOnly 속성 이해하기
IsReadOnly 속성은 해당 BitArray가 읽기 전용(read-only) 상태인지를 확인할 때 사용합니다. 만약 읽기 전용으로 설정되어 있다면, 새로운 요소를 추가하거나 기존 값을 수정하는 작업이 허용되지 않습니다.
아래 예제는 C#에서 BitArray 클래스의 IsReadOnly 속성을 실제로 사용하는 방법을 보여줍니다.
예제 코드
using System;
using System.Collections;
namespace Demo {
class Program {
static void Main(string[] args) {
BitArray ba1 = new BitArray(5);
BitArray ba2 = new BitArray(5);
byte[] a = { 90 };
byte[] b = { 30 };
ba1 = new BitArray(a);
ba2 = new BitArray(b);
Console.WriteLine("Bit array ba1: 60");
for (int i = 0; i < ba1.Count; i++) {
Console.Write("{0, -4} ", ba1[i]);
}
Console.WriteLine();
Console.WriteLine("IsReadOnly = " + ba1.IsReadOnly);
Console.WriteLine("IsReadOnly = " + ba2.IsReadOnly);
Console.ReadKey();
}
}
}위 코드에서는 바이트 배열을 기반으로 두 개의 BitArray 객체를 생성한 뒤, 각각의 IsReadOnly 속성 값을 출력하여 해당 배열이 읽기 전용인지 확인합니다. 실행 결과를 통해 BitArray의 현재 상태를 손쉽게 파악할 수 있습니다.