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