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