Метод TryPeek
Метод TryPeek класса
Stack<T>
при непустом стеке записывает верх в
out T result и возвращает true.
На пустом стеке возвращает false без
исключения.
Синтаксис
bool ok = stack.TryPeek(out T result);
Пример
Давайте прочитаем верх через TryPeek:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Stack<int> nums = new Stack<int>();
nums.Push(1);
nums.Push(2);
if (nums.TryPeek(out int res))
{
Console.WriteLine(res);
}
}
}
Результат выполнения кода:
2
Пример
Давайте вызовем TryPeek на пустом стеке:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Stack<int> nums = new Stack<int>();
Console.WriteLine(nums.TryPeek(out int res));
}
}
Результат выполнения кода:
False
Пример
Давайте убедимся, что после TryPeek Count не меняется:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Stack<string> items = new Stack<string>();
items.Push("a");
items.TryPeek(out string res);
Console.WriteLine(items.Count);
}
}
Результат выполнения кода:
1