День сто сорок пятый. #ЗаметкиНаПолях
Коллекции в C#
5. Битовый массив BitArray
Битовый массив управляет компактным массивом значений битов, которые представлены как логические значения, где
Класс
- https://docs.microsoft.com/ru-ru/dotnet/api/system.collections.bitarray
Коллекции в C#
5. Битовый массив BitArray
Битовый массив управляет компактным массивом значений битов, которые представлены как логические значения, где
true
указывает, что бит включен (1
), а false
указывает, что бит выключен (0
).Класс
BitArray
- это класс коллекции, емкость которого всегда равна количеству. Элементы добавляются в BitArray
путем увеличения свойства Length
; удаляются уменьшением свойства Length
. // Инициализация (все значения false)Класс
var ba1 = new BitArray(16);
// Инициализация массивом байтов
// 16 элементов: 1й байт - 0-7, 2й байт - 8-15
byte[] bt = new byte[] { 10, 64 };
var ba2 = new BitArray(bt);
// Количество элементов (16)
var cnt = ba2.Length;
// Установка отдельного значения
ba1[13] = true;
BitArray
предоставляет методы, которых нет в других коллекциях, в том числе те, которые позволяют одновременно изменять несколько элементов с помощью фильтров, таких как And
, Or
, Xor
, Not
и SetAll
:// изменение значений на противоположныеИсточники:
ba1.Not();
// Побитовое И (изменяет ba1)
ba1.And(ba2);
// Побитовое ИЛИ (изменяет ba1)
ba1.Or(ba2);
// Побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ (изменяет ba1)
ba1.Xor(ba2);
// Установка всех значений
ba1.SetAll(true);
- https://docs.microsoft.com/ru-ru/dotnet/api/system.collections.bitarray