Читаем C# 4.0 полное руководство - 2011 полностью

Здесь битами в коллекции становится уже целый их набор из массиваbytes,причем элементbytes [ 0 ] обозначает первые 8 битов, элемент bytes [ 1 ] — вторые 8 битов и т.д. Аналогично, коллекцию типа Bit Array можно составить из массива целочисленных значений, используя приведенный ниже конструктор.

public BitArray(int[ ]values)

В данном случае элементvalues [0 ] обозначает первые 32 бита, элемент values [ 1 ] — вторые 32 бита и т.д.

С помощью следующего конструктора можно составить коллекцию типаBitArray,указав ее конкретный размер:

public BitArray(intlength)

гдеlengthобозначает количество битов в коллекции, которые инициализируются логическим значениемfalse.В приведенном ниже конструкторе можно указать не только размер коллекции, но и первоначальное значение составляющих ее битов.

public BitArray(intlength,booldefaultValue)

В данном случае все биты в коллекции инициализируются значениемdefaultValue,передаваемым конструктору в качестве параметра.

И наконец, новую коллекцию типаBitArrayможно создать из уже существующей, используя следующий конструктор.

public BitArray(BitArraybits)

Вновь сконструированный объект будет содержать такое же количество битов, как и в указываемой коллекцииbits,а в остальном это будут две совершенно разные коллекции.

Коллекции типаBitArrayподлежат индексированию. По каждому индексу указывается отдельный бит в коллекции, причем нулевой индекс обозначает младший бит.

В классеBitArrayопределяется ряд собственных методов, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Методы этого класса приведены в табл. 25.9. Обратите внимание на то, что в классеBitArrayне поддерживается методSynchronized(). Это означает, что для коллекций данного класса синхронизированная оболочка недоступна, а свойствоIsSynchronizedвсегда имеет логическое значениеfalse.Тем не менее для управления доступом к коллекции типаBitArrayее можно синхронизировать для объекта, предоставляемого упоминавшимся ранее свойствомSyncRoot.

Таблица 25.9. Методы, определенные в классе BitArray


Метод


Описание


public

value)


BitArray And(BitArray


Выполняет операцию логического умножения И битов вызывающего объекта и коллекции value. Возвращает коллекцию типа BitArray, содержащую результат


public


bool Get(intindex)


Возвращает значение бита, указываемого по индексу index


public


BitArray Not()


Выполняет операцию поразрядного логического отрицания НЕ битов вызывающей коллекции и возвращает коллекцию типа BitArray, содержащую результат


Метод


Описание


public BitArray Or(BitArrayvalue)

public void Set (intindex,boolvalue)

public void SetAll(boolvalue)

public BitArray Xor(BitArrayvalue)


Выполняет операцию логического сложения ИЛИ битов вызывающего объекта и коллекции value. Возвращает коллекцию типа BitArray, содержащую результат

Устанавливает бит, указываемый по индексу index, равным значению value

Перейти на страницу:

Похожие книги

1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных