O Yield é utilizado para retornar uma instância do tipo IEnumerable ou IEnumerator, em casos que eu tenho um método que retorne vários valores, o ganho de performance é considerável se você tem uma coleção de dados extensa, observe abaixo:
Confira abaixo como utilizar o yield:
class Program
{
static void Main(string[] args)
{
foreach (int num in ObterLista())
{
Console.WriteLine(num);
}
}
public static IEnumerable ObterLista()
{
for (int i = 0; i < 100; i++)
{
yield return i;
}
}
}
public IEnumerable GetImpares_Yield(Int32 maxNum)
{
int num = 0;
while (true)
{
System.Threading.Thread.Sleep(1000);
num++;
if (num % 2 == 1)
yield return num;
if (num >= maxNum)
yield break;
}
}
Nenhum comentário:
Postar um comentário