C# yield keyword
If we use the yield keyword in a statement, we indicate that the method, operator, or get accessor in which it appears is an iterator.
Two forms of the yield statement are used.
yield return <expression>; yield break;
We use a “yield return” statement to return each element one at a time.
We use a “yield break” statement to end the iteration.
Usage :
// Display powers of 2 up to the exponent of 10: foreach (int i in Power(2, 10)) { Console.Write("{0} ", i); } // Output: 2 4 8 16 32 64 128 256 512 1024
Sample :
public System.Collections.Generic.IEnumerable <int> Power(int number, int exponent) { int result = 1; for (int i = 0; i < exponent; i++) { result = result * number; yield return result; } }