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:

C#

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

C#

//TestKeyworkYield ritorna una collection di oggetti IEnumerable
IEnumerable<string> items = TestKeyworkYield();
foreach (var item in items)
{
  Console.WriteLine(item);
}
da come risultato a video

Text

A1
A2
A3
A4
S1
S2
S3
S4

Vedi anche yield (Riferimenti per C#)
Tags:
C#236 .NET66 Esempi225
Potrebbe interessarti anche: