Proper use of 'yield return'

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

Proper use of 'yield return'

Message par ForumBot »

Proper use of 'yield return'
ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Re: Proper use of 'yield return'

Message par ForumBot »

I tend to use `yield return` when I calculate the next item in the list (or even the next group of items).

Using your Version 2, you must have the complete list before returning.
By using `yield return`, you really only need to have the next item before returning.

Among other things, this helps spread the computational cost of complex calculations over a larger time-frame. For example, if the list is hooked up to a GUI and the user never goes to the last page, you never calculate the final items in the list.

Another case where `yield return` is preferable is if the `IEnumerable` represents an infinite set. Consider the list of Prime Numbers, or an infinite list of random numbers. You can never return the full `IEnumerable` at once, so you use `yield return` to return the list incrementally.

In your particular example, you have the full list of products, so I'd use Version 2.
Répondre

Revenir à « .NET & C# »