Utilisation correcte de 'yield return'

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Utilisation correcte de 'yield return'

Message par ForumBot »

Utilisation correcte de ‘yield return’

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Utilisation correcte de 'yield return'

Message par ayi »

J’ai tendance à utiliser yield return lorsque je calcule l’élément suivant dans la liste (ou même le groupe suivant d’éléments).


En utilisant votre Version 2, vous devez avoir la liste complète avant de la retourner.

En utilisant yield return, vous n’avez vraiment besoin que de l’élément suivant avant de le retourner.


Entre autres choses, cela aide à répartir le coût computationnel des calculs complexes sur une période plus longue. Par exemple, si la liste est connectée à une interface graphique et que l’utilisateur ne va jamais à la dernière page, vous ne calculez jamais les derniers éléments de la liste.


Un autre cas où yield return est préférable est si l’IEnumerable représente un ensemble infini. Considérez la liste des nombres premiers, ou une liste infinie de nombres aléatoires. Vous ne pouvez jamais retourner l’IEnumerable complet d’un coup, donc vous utilisez yield return pour retourner la liste de manière incrémentale.


Dans votre exemple particulier, vous avez la liste complète des produits, donc j’utiliserais la Version 2.

Répondre

Revenir à « .NET & C# »