Home [閱讀筆記][Design Pattern] Ch20.迭代器模式(Iterator)
Post
Cancel

[閱讀筆記][Design Pattern] Ch20.迭代器模式(Iterator)

迭代器模式(Iterator)

迭代器模式(Iterator),提供一種方法依序存取一個聚合物件中各個元素,而又不暴露該物件的內部結構。

foreach in就是實現IEnumeratorIEnumerable這兩個介面來實踐迴圈走遍。

.NET的迭代器實現

實際使用當中是不需要這麼麻煩的,因為.NET框架已經為你準備好了相關介面,你只需去實現就好。

IEnumerator 介面

IEnumerator支援非泛型集合上的簡單反覆運算。

1
2
3
4
5
6
7
8
9
10
11
public interface IEnumerator {
    //取得集合中當前的元素。
    object Current { get; }

    //將列舉值往前推至下集合中的下一個項目。
    //如果列舉值成功前移至下一個項目,則為 true;如果列舉值超過集合的結尾,則為 false。
    bool MoveNext();

    //設定列舉值至它的初始位置,這是在集合中第一個項目之前。
    void Reset();
}

IEnumerable 介面

IEnumerable公開列舉數,該列舉數支援在非泛型集合上進行簡單的迭代。

1
2
3
4
public interface IEnumerable {
    //返迴一個迴圈存取集合的列舉值(傳回逐一查看集合的列舉值)
    IEnumerator GetEnumerator();
}
This post is licensed under CC BY 4.0 by the author.

[閱讀筆記][Design Pattern] Ch19.組合模式(Composite)

[閱讀筆記][Design Pattern] Ch21.獨體模式(Singleton)