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

C# BitArray 클래스의 IsReadOnly 속성이란? 사용법과 예제 총정리

BitArray 클래스란?

C#의 BitArray 클래스는 비트(bit) 값을 저장해야 하지만 저장할 비트의 개수를 미리 알 수 없는 경우에 유용하게 사용되는 컬렉션 클래스입니다. 필요에 따라 동적으로 비트 배열을 생성하고 관리할 수 있어 메모리 효율적인 비트 연산 작업에 적합합니다.

IsReadOnly 속성의 역할

IsReadOnly 속성을 사용하면 해당 BitArray 객체가 읽기 전용(Read Only) 상태인지 여부를 나타내는 불리언(Boolean) 값을 확인할 수 있습니다.

  • true 반환 시: BitArray가 읽기 전용이므로 새로운 요소를 추가하거나 수정할 수 없습니다.
  • false 반환 시: BitArray가 읽기 전용이 아니므로 요소의 추가 및 수정이 가능합니다.

참고로 BitArray 클래스는 기본적으로 읽기 전용 래퍼를 지원하지 않기 때문에, 일반적인 BitArray 인스턴스에서는 항상 false가 반환됩니다.

다음은 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();
      }
   }
}

실행 결과

Bit array ba1: 60
False True False True True False True False
IsReadOnly = False
IsReadOnly = False

코드 설명

위 예제에서는 바이트 배열 { 90 }{ 30 }을 각각 BitArray 객체 ba1과 ba2로 변환한 후, 반복문을 통해 ba1의 각 비트 값을 출력합니다. 이어서 두 객체에 대해 IsReadOnly 속성을 호출하여 읽기 전용 여부를 확인합니다.

실행 결과 두 BitArray 모두 False를 반환하는 것을 볼 수 있습니다. 이는 해당 BitArray 객체들이 읽기 전용이 아니며, 요소의 추가나 수정이 자유롭게 가능함을 의미합니다.