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