С помощью следующего конструктора можно составить коллекцию типаBitArray,указав ее конкретный размер:
public BitArray(int
где
public BitArray(int
В данном случае все биты в коллекции инициализируются значением
И наконец, новую коллекцию типаBitArrayможно создать из уже существующей, используя следующий конструктор.
public BitArray(BitArray
Вновь сконструированный объект будет содержать такое же количество битов, как и в указываемой коллекции
Коллекции типаBitArrayподлежат индексированию. По каждому индексу указывается отдельный бит в коллекции, причем нулевой индекс обозначает младший бит.
В классеBitArrayопределяется ряд собственных методов, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Методы этого класса приведены в табл. 25.9. Обратите внимание на то, что в классеBitArrayне поддерживается методSynchronized. Это означает, что для коллекций данного класса синхронизированная оболочка недоступна, а свойствоIsSynchronizedвсегда имеет логическое значениеfalse.Тем не менее для управления доступом к коллекции типаBitArrayее можно синхронизировать для объекта, предоставляемого упоминавшимся ранее свойствомSyncRoot.
Таблица 25.9. Методы, определенные в классе BitArray
Метод
Описание
public
BitArray And(BitArray
Выполняет операцию логического умножения И битов вызывающего объекта и коллекции
public
bool Get(int
Возвращает значение бита, указываемого по индексу
public
BitArray Not
Выполняет операцию поразрядного логического отрицания НЕ битов вызывающей коллекции и возвращает коллекцию типа BitArray, содержащую результат
Метод
Описание
public BitArray Or(BitArray
public void Set (int
public void SetAll(bool
public BitArray Xor(BitArray
Выполняет операцию логического сложения ИЛИ битов вызывающего объекта и коллекции
Устанавливает бит, указываемый по индексу
Устанавливает все биты равными значению
Выполняет логическую операцию исключающее ИЛИ над битами вызывающего объекта и коллекции
В классеBitArrayопределяется также собственное свойство, помимо тех, что указаны в интерфейсах, которые в нем реализуются.
public int Length { get; set; }