当前位置:  开发笔记 > 编程语言 > 正文

实现空迭代器

如何解决《实现空迭代器》经验,为你挑选了2个好方法。

我有这个代码:

    public IEnumerable Iterator {
        get { if (false) yield return -1; }
    }

它相当丑陋,但是当你试图将它重构为:

    public IEnumerable Iterator {
        get { return null; }
    }

以下代码中断:

foreach (var item in obj.Iterator) {
}

你会如何清理它?



1> Mehrdad Afsh..:
public IEnumerable Iterator {
    get { yield break; }
}



2> Konrad Rudol..:

NET框架已经具备的方式(使Jared的代码冗余)做的正是这一点,一个方法:System.Enumerable.Empty.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有