1. 程式人生 > >迭代器塊中yield 語句

迭代器塊中yield 語句

在下面的示例中,迭代器塊(這裡是方法 Power(int number, int power))中使用了 yield 語句。當呼叫 Power 方法時,它返回一個包含數字冪的可列舉物件。注意 Power 方法的返回型別是 IEnumerable(一種迭代器介面型別)。

// yield-example.cs
using System;
using System.Collections;
public class List
{
    public static IEnumerable Power(int number, int exponent)
    {
        int counter = 0;
        int result = 1;
        while (counter++ < exponent)
        {
            result = result * number;
            yield return result;
        }
    }

    static void Main()
    {
        // Display powers of 2 up to the exponent 8:
        foreach (int i in Power(2, 8))
        {
            Console.Write("{0} ", i);
        }
    }
}

輸出

2 4 8 16 32 64 128 256