Метод TryDequeue
Метод TryDequeue класса
Queue<T>
при непустой очереди удаляет голову, записывает
значение в параметр out T result и возвращает
true. Если элементов нет, возвращает false
и не бросает исключение.
Синтаксис
bool ok = queue.TryDequeue(out T result);
Пример
Давайте снимем голову через TryDequeue:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Queue<int> nums = new Queue<int>();
nums.Enqueue(1);
nums.Enqueue(2);
if (nums.TryDequeue(out int res))
{
Console.WriteLine(res);
}
}
}
Результат выполнения кода:
1
Пример
Давайте вызовем TryDequeue на пустой очереди:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Queue<int> nums = new Queue<int>();
Console.WriteLine(nums.TryDequeue(out int res));
}
}
Результат выполнения кода:
False
Пример
Давайте обработаем очередь в цикле через TryDequeue:
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.TryDequeue(out int res))
{
Console.WriteLine(res);
}
}
}
Результат выполнения кода:
1
2
3