Back to tasksGet help with live coding in real time with Sobes Copilot
Junior — Senior
101
Разбор поведения итератора с оператором yield в C#
Task condition
Определите, какой вывод получит программа при выполнении следующего кода.
var start = 0;
var iterator = GenerateSequence(start);
static IEnumerator<int> GenerateSequence(int start)
{
if (start % 2 != 0)
{
yield break;
}
if (start < 3)
{
start++;
yield return start;
}
}
iterator.MoveNext();
iterator.MoveNext();
iterator.MoveNext();
Console.WriteLine(iterator.Current);