Hoy os quiero traer una pequeña píldora con el uso de yield return en C#. Usándolo, estamos indicando que el método es un iterador. Pero, ¿esto que quiere decir?
Veámoslo con un ejemplo, leed el siguiente código. Sin conocer el uso de yield return, a priori el método DameInts() sería imposible, ya que entraríamos en un bucle infinito. Tomate un segundo y ejecútalo, a ver que pasa.
using System;
using System.Collections.Generic;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
var resultado = DameInts();
foreach (var a in resultado)
Console.WriteLine(a);
}
public static IEnumerable<int> DameInts()
{
int i = 0;
while (true)
{
yield return ++i;
System.Threading.Thread.Sleep(1000);
}
}
}
}
Sigue leyendo Yield Return: que es y como usarlo