BitArray 클래스
- bool 값을 빽빽하게 저장하는 컬렉션
- 컬렉션 크기의 동적 변경을 지원
- bool 값 하나당 1바이트가 아닌 1비트만을 사용하므로 저장 공간을 효율적으로 이용함
반응형
namespace System.Collections
{
public sealed class BitArray : ICollection, IEnumerable, ICloneable
{
// 생성자
public BitArray(int length); // 비트의 수 설정, 초기값 false
public BitArray(byte[] bytes); // 각 바이트를 8개의 연속 비트로 인식
public BitArray(bool[] values); // bool 배열을 BitArray로
public BitArray(int[] values); // 각 int를 32개의 연속 비트로 인식
public BitArray(BitArray bits); // 다른 BitArray부터
public BitArray(int length, bool defaultValue); // 비트의 수 설정, 초기값 설정 가능
// 컬랙션 정보
public int Count { get; }
public int Length { get; set; }
// 각 비트에 접근
public bool this[int index] { get; set; }
public bool Get(int index);
public void Set(int index, bool value);
public void SetAll(bool value);
// 동기화 관련
public object SyncRoot { get; }
public bool IsSynchronized { get; }
// 읽기 전용 여부
public bool IsReadOnly { get; }
// 복사
public void CopyTo(Array array, int index);
public object Clone();
// 열거
public IEnumerator GetEnumerator();
// 비트별 연산
public BitArray And(BitArray value);
public BitArray Not();
public BitArray Or(BitArray value);
public BitArray Xor(BitArray value);
}
}
반응형
'C#' 카테고리의 다른 글
[C#] OrderedDictionary, ListDictionary, HybridDictionary (0) | 2023.09.24 |
---|---|
[C#] Dictionary<TKey,TValue>, Hashtable (0) | 2023.09.22 |
[C#] IDictionary<TKey,TValue>, IReadOnlyDictionary<TKey,TValue>, IDictionary (0) | 2023.09.20 |
[C#] HashSet<T>, SortedSet<T> (0) | 2023.09.16 |
[C#] Queue<T>, Queue, Stack<T>, Stack (0) | 2023.09.12 |
[C#] LinkedList<T>, LinkedListNode<T> (0) | 2023.09.10 |
[C#] IList<T>, IList (0) | 2023.09.08 |
[C#] ICollection<T>, ICollection (1) | 2023.08.31 |