45.73K
Категория: ПрограммированиеПрограммирование

yield return в C#

1.

yield return в C#
Как работает yield return и где он полезен

2.

Что такое yield return?
- yield return используется для пошаговой
генерации элементов коллекции.
- Это ключевое слово для методов-итераторов.
Особенности:
- Возвращает элемент без завершения метода.
- Позволяет работать с ленивыми вычислениями.

3.

Как работает yield return?
1. Метод с yield return возвращает
IEnumerable<T>.
2. При каждом вызове next, выполнение метода
продолжается с места, где остановилось.
3. Это позволяет поочерёдно генерировать
значения, а не всю коллекцию сразу.

4.

Пример кода с yield return
static IEnumerable<int>
GetNumbers()
{
for (int i = 1; i <= 5; i++)
{
yield return i;
}
}
// Использование:
foreach (int number in
GetNumbers())
{
Console.WriteLine(number);
}

5.

Преимущества yield return
- Экономия памяти: создаёт элементы только по
мере необходимости.
- Удобство: упрощает реализацию сложных
итераторов.
- Поддерживает ленивую загрузку данных.
- Лёгкость чтения и поддержки кода.

6.

Ограничения yield return
- Нельзя использовать в методах с параметрами
ref или out.
- Не подходит для методов с большим числом
зависимостей.
- Невозможно вернуть несколько типов данных из
одного метода.

7.

Заключение
- yield return - мощный инструмент для работы с
итераторами.
- Позволяет работать с ленивыми вычислениями и
большими данными.
- Используйте, если данные должны генерироваться
по запросу.
- Не забывайте о его ограничениях!
English     Русский Правила