Основы C# Урок 64. Класс BitArray
Класс BitArray предназначен для хранения набора битов. Он находится в пространстве имен System.Collections. Фактически в этом классе хранятся значения логического типа.
Этот класс предоставляет стандартный набор операций для работа с битами - логические И, ИЛИ и т. п. Кроме того, в классе предусмотрена возможность работы с отдельными битами набора.
Вот пример использования этого класса:
static void Main(string[] args)
{
// Объявляем экземпляры BitArray.
BitArray ba0 = new BitArray(new bool[] {true, false, false, true});
BitArray ba1 = new BitArray(4);
// Используем индексаторы для заполнения.
ba1[0] = false;
ba1[1] = false;
ba1[2] = false;
ba1[3] = true;
// Показ первоначальных значений.
ShowBitArray("ba0", ba0);
ShowBitArray("ba1", ba1);
// Or, And, Not и Xor.
ShowBitArray("Or", ba0.Or(ba1));
ShowBitArray("And", ba0.And(ba1));
ShowBitArray("Not", ba0.Not());
ShowBitArray("Xor", ba0.Xor(ba1));
}
// Вспомогательный метод для показа содержимого BitArray.
static public void ShowBitArray(string desc, BitArray bitArray)
{
Console.Write(desc + ": ");
foreach (bool b in bitArray)
{
Console.Write(b + " ");
}
Console.WriteLine();
}
Пример достаточно ясен из комментариев.
Обратите внимание, что методы Or, And, Not и Xor изменяют экземпляр BitArray, к которому они применяются (недаром это методы экземпляра).
Из других полезных методов и свойств следует отметить еще Set и Get (действуют аналогично индексатору [] - т. е. позволяют добраться до отдельных элементов нашего BitArray), SetAll (позволяет установить все элементы BitArray в true или в false), Length (возвращает число элементов).
|