La keyword
yield di
C#, in abbinamento a
return, permette di ritornare delle collection di
IEnumerable senza la necessità di creare un oggetto collection.
Ecco un esempio:
protected static IEnumerable<string> TestKeyworkYield()
{
yield return "A1";
yield return "A2";
yield return "A3";
//tra un 'yield return' e l'altro posso inserire delle istruzione
string s = string.Concat("A", "4");
yield return s;
for (int i = 0; i <=4; i++)
{
yield return "S"+i.ToString();
}
}
richimamdolo con questo codice
//TestKeyworkYield ritorna una collection di oggetti IEnumerable
IEnumerable<string> items = TestKeyworkYield();
foreach (var item in items)
{
Console.WriteLine(item);
}
da come risultato a video
Vedi anche
yield (Riferimenti per C#)