Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
504 of 1492 menu
◀ ▶

Класс Queue

Класс Queue<T> из пространства имён System.Collections.Generic реализует очередь: новые элементы добавляются в хвост методом Enqueue, а снимаются с головы методами Dequeue и Peek. Тип элемента задаётся параметром T.

Синтаксис

Queue<T> queue = new Queue<T>(); Queue<T> queue = new Queue<T>(capacity);

Пример

Давайте поставим числа в хвост и снимем голову:

using System; using System.Collections.Generic; class Program { static void Main() { Queue<int> nums = new Queue<int>(); nums.Enqueue(1); nums.Enqueue(2); nums.Enqueue(3); Console.WriteLine(nums.Dequeue()); } }

Результат выполнения кода:

1

Пример

Давайте обойдём очередь, снимая элементы по одному:

using System; using System.Collections.Generic; class Program { static void Main() { Queue<int> nums = new Queue<int>(); nums.Enqueue(1); nums.Enqueue(2); nums.Enqueue(3); while (nums.Count > 0) { Console.WriteLine(nums.Dequeue()); } } }

Результат выполнения кода:

1 2 3

Пример

Давайте создадим очередь строк и посмотрим голову без снятия:

using System; using System.Collections.Generic; class Program { static void Main() { Queue<string> items = new Queue<string>(); items.Enqueue("a"); items.Enqueue("b"); items.Enqueue("c"); Console.WriteLine(items.Peek()); Console.WriteLine(items.Count); } }

Результат выполнения кода:

"a" 3

Смотрите также

  • свойство Count,
    которое показывает, сколько элементов ждёт
  • метод TryDequeue,
    который снимает голову без исключения
  • класс Stack<T>,
    который хранит элементы в порядке LIFO
  • интерфейс IEnumerable,
    который позволяет обходить очередь в foreach
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить