Проверка отмены ThrowIfCancellationRequested в C#
Метод ThrowIfCancellationRequested бросает OperationCanceledException без ручной проверки флага.
Проверка короткая, её ставят прямо в цикле. По вызову видно, что метод хочет прерваться.
Проверим уже отменённый токен. Исключение выходит сразу, без ожидания операции:
using CancellationTokenSource cts = new();
cts.Cancel();
try
{
cts.Token.ThrowIfCancellationRequested();
}
catch (OperationCanceledException)
{
Console.WriteLine("abort"); // выведет "abort"
}
Пройдите числа от 1 до 5 и на каждом шаге проверяйте отмену. Источник уже отменён. Выведите число, на котором проход прервался.