zoukankan      html  css  js  c++  java
  • 理解 IEnumerable 与 IEnumerator

    我们在编码中,经常使用foreach遍历集合,能够遍历的集合必定实现了 IEnumerator接口,IEnumerator接口如下:

     1 public interface IEnumerator
     2 {
     3       // 方法
     4       //移到集合的下一个元素。如果成功则返回为 true;如果超过集合结尾,则返回false。
     5       bool MoveNext();
     6      // 将集合设置为初始位置,该位置位于集合中第一个元素之前
     7       void Reset();
     8 
     9       // 属性:获取集合中的当前元素
    10       object Current { get; }
    11 }

    要想使用foreach 遍历集合,集合必须继承 IEnumerator接口,实现IEnumerator接口中的方法。

     

    而IEnumerable接口返回一个IEnumerator类型的实例,IEnumerable接口如下:

    1 public interface IEnumerable
    2 {
    3       //IEnumerable只有一个方法,返回可循环访问集合的枚举数。
    4       IEnumerator GetEnumerator() ;
    5 }

    为什么要这样设计呢?IEnumerable体现了做什么,IEnumerator体现了怎么做,符合软件工程中的接口隔离原则。

  • 相关阅读:
    十四
    十三
    十二
    十一
    用Linq从一个集合选取几列得到一个新的集合-可改列名
    LINQ入门(完结篇)
    LINQ入门(下篇)
    LINQ入门(中篇)
    LINQ入门(上篇)
    MVC中View往Controllers传数据的方式-已发
  • 原文地址:https://www.cnblogs.com/nzbbody/p/2640374.html
Copyright © 2011-2022 走看看