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

В классе Queue определяется ряд собственных методов, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Некоторые из наиболее часто используемых методов этого класса перечислены в табл. 25.8. Эти методы обычно применяются следующим образом. Для того чтобы поместить объект в очередь, вызывается метод Enqueue(). Если требуется извлечь и удалить первый объект из начала очереди, то вызывается метод Dequeue(). Если же требуется извлечь, но не удалять следующий объект из очереди, то вызывается метод Реек(). А если методы Dequeue() и Реек() вызываются, когда очередь пуста, то генерируется исключение InvalidOperationException.


Таблица 25.8. Наиболее часто используемые методы, определенные в классе Queue


Метод - Описание


public virtual void Clear() - Устанавливает свойство Count равным нулю, очищая, по существу, очередь

public virtual bool Contains(object obj) - Возвращает логическое значение true, если объект obj содержится в вызывающей очереди, а иначе — логическое значение false

public virtual object Dequeue() - Возвращает объект из начала вызывающей очереди. Возвращаемый объект удаляется из очереди

public virtual void Enqueue(object obj) - Добавляет объект obj в конец очереди 

public virtual object Peek() - Возвращает объект из начала вызывающей очереди, но не удаляет его

public static Queue Synchronized(Queuequeue) - Возвращает синхронизированный вариант коллекции типа Queue, передаваемой в качестве параметра queue

public virtual object[] ToArray() - Возвращает массив, который содержит копии элементов из вызывающей очереди

public virtual void TrimToSize() -  Устанавливает значение свойства Capacity равным значению свойства Count


В приведенном ниже примере программы демонстрируется применение класса

Queue.


// Продемонстрировать применение класса Queue.

using System;

using System.Collections;


class QueueDemo {

  static void ShowEnq(Queue q, int a) {

    q.Enqueue(a) ;


    Console.WriteLine("Поместить в очередь: Enqueue(" + a + ")");

    Console.Write("Содержимое очереди: ");

    foreach(int i in q)

      Console.Write(i + " ");


    Console.WriteLine() ;

  }


  static void ShowDeq(Queue q) {

    Console.Write("Извлечь из очереди: Dequeue -> ");

    int a = (int) q.Dequeue();


    Console.WriteLine(a);


    Console.Write("Содержимое очереди: ");

    foreach(int i in q)

      Console.Write(i + " ") ;


    Console.WriteLine();

  }


  static void Main() {

    Queue q = new Queue();

    foreach(int i in q)

      Console.Write(i + " ");


    ShowEnq(q, 22);

    ShowEnq(q, 65);

    ShowEnq(q, 91);

    ShowDeq(q);

    ShowDeq(q);

    ShowDeq(q);

    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

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

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

1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

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