samedi 1 mars 2025

yield

 En C#, le mot-clé yield est utilisé pour produire des éléments un par un dans une méthode itérative, souvent dans une boucle. Il permet de créer facilement des itérateurs personnalisés sans avoir à implémenter manuellement IEnumerator ou IEnumerable.

Il existe deux formes principales :


🔁 yield return

Elle permet de retourner un élément à la fois d'une collection, et de reprendre l'exécution là où elle s'était arrêtée.

IEnumerable<int> CompterJusqua(int max)
{
    for (int i = 1; i <= max; i++)
    {
        yield return i;
    }
}

Utilisation :

foreach (int n in CompterJusqua(5))
{
    Console.WriteLine(n);
}

Affiche : 1, 2, 3, 4, 5


yield break

Cela interrompt l’itération prématurément, comme un break dans une boucle.

IEnumerable<int> CompterEtArreter(int max)
{
    for (int i = 1; i <= max; i++)
    {
        if (i == 3)
            yield break; // stop ici

        yield return i;
    }
}

Résultat : 1, 2


⚙️ À quoi ça sert ?

  • Économise de la mémoire (pas besoin de créer une liste entière).

  • Permet l’évaluation paresseuse (lazy evaluation).

  • Simplifie grandement la logique d’itération.



Aucun commentaire:

Enregistrer un commentaire

yield Lượt xem: