IEnumerable和IEnumerator

来源:互联网 发布:如何下载pdf软件 编辑:程序博客网 时间:2024/06/02 02:13

IEnumerable接口:只包含一个抽象的方法GetEnumerator(),它返回一个可用于循环访问集合的IEnumerator对象。


IEnumerator迭代器:
public interface IEnumerator
{
    bool MoveNext();           //将游标的内部位置向前移动
    object Current{get;}       //获取当前的项(只读属性)
    void Reset();              //将游标重置到第一个成员前面
}


yield return产生迭代的下一个值,但运行到此语句时,会保存当前位置。如果该迭代器再次被调用,将从保存的位置开始执行
•使用一个yield return语句返回集合的一个元素
•包含yield语句的方法或属性是迭代器。迭代器必须满足以下要求
a. 返回类型必须是IEnumerable、IEnumerable<T>、IEnumerator或 IEnumerator<T>。
b. 它不能有任何ref或out参数


//yield break则指示迭代完成

0 0
原创粉丝点击