try {

ShowDeq (q);

} catch (InvalidOperationException) { Console.WriteLine('Очередь пуста.');

}

}

}

Эта программа дает следующий результат.

Поместить в очередь: Enqueue(22)

Содержимое очереди: 22 Поместить в очередь: Enqueue(65)

Содержимое очереди: 22 65 Поместить в очередь: Enqueue(91)

Содержимое очереди: 22 65 91 Извлечь из очереди: Dequeue -> 22 Содержимое очереди: 65 91 Извлечь из очереди: Dequeue -> 65 Содержимое очереди: 91 Извлечь из очереди: Dequeue -> 91 Содержимое очереди:

Извлечь из очереди: Dequeue -> Очередь пуста.

Хранение отдельных битов в классе коллекции BitArray

Класс BitArray служит для хранения отдельных битов в коллекции. А поскольку в коллекции этого класса хранятся биты, а не объекты, то своими возможностями он отличается от классов других коллекций. Тем не менее в классе BitArray реализуются интерфейсы ICollection и IEnumerable как основополагающие элементы поддержки всех типов коллекций. Кроме того, в классе BitArray реализуется интерфейс ICloneable.

В классе BitArray определено несколько конструкторов. Так, с помощью приведенного ниже конструктора можно сконструировать объект типа BitArray из массива логических значений.

public BitArray(bool[] values)

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

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

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

public BitArray(int[ ] values)

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

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

public BitArray(int length)

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

public BitArray(int length, bool defaultValue)

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

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

public BitArray(BitArray bits)

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

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

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

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату