Back to questions
Junior — Middle
64
Объясните принцип работы оператора yield в программировании.
Answer from AI
sobes.tech AI
Оператор yield в C# используется для создания итераторов, позволяя методам возвращать элементы по одному без необходимости создавать и возвращать всю коллекцию сразу.
Когда метод с yield return вызывается, он возвращает элемент и приостанавливает своё выполнение, сохраняя текущее состояние. При следующем запросе элемента выполнение продолжается с того места, где было остановлено.
Это удобно для экономии памяти и реализации ленивых вычислений.
Пример:
IEnumerable<int> GetNumbers()
{
yield return 1;
yield return 2;
yield return 3;
}
foreach(var num in GetNumbers())
{
Console.WriteLine(num);
}
В этом примере числа 1, 2 и 3 возвращаются по одному при каждой итерации цикла.