Développement

Astuces de développement

Outils pour utilisateurs

Outils du site


langages:asp_csharp:yield

Ceci est une ancienne révision du document !


L’opérateur yield

Exemple d'utilisation et explications : http://www.ytechie.com/2009/02/using-c-yield-for-readability-and-performance/

On peut le comparer au streaming vidéo : plutôt que de devoir télécharger toute une vidéo avant de la lire, on peut la regarder au fur et à mesure qu'on la télécharge. Et si on arrête de la regarder pas besoin de télécharger la fin de la vidéo.

IList<string> FindBobs(IEnumerable<string> names) {

  var bobs = new List<string>();
  foreach(var currName in names)
  {
      if(currName == "Bob")
          bobs.Add(currName);
  }
  return bobs;

}

devient :

IEnumerable<string> FindBobs(IEnumerable<string> names)
{
    foreach(var currName in names)
    {
        if(currName == "Bob")
            yield return currName;
    }
}
langages/asp_csharp/yield.1553759361.txt.gz · Dernière modification: 2019/03/28 08:49 de jonathan