My Life My Dream!

守信 求实 好学 力行
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

又发现 yield 关键字

Posted on 2008-05-07 15:19  召冠  阅读(212)  评论(0编辑  收藏  举报
以前只是见过她,从没在意他是干嘛的,今天因为查Where不小心看到他,有点意思。
在此做个标记,以后有机会用一下。呵呵,见笑了。

yield 在迭代器块中用于向枚举数对象提供值或发出迭代结束信号。

yield return <expression>;
yield break;

实例:

    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);
        }
    }