2014-02-24 8 views
1

在C#中使用Iterators創建Enumerable或Enumerator之間的區別是什麼? 我知道迭代器用於創建一個實現Enumerable或Enumerator的私有類...在C#中使用迭代器創建Enumerable或Enumerator之間的區別

哪種方式更好地創建枚舉類型?

+0

你可能指的是迭代器塊。你應該閱讀:http://csharpindepth.com/articles/chapter6/iteratorblockimplementation.aspx – Henrik

回答

3

實現IEnumerable接口的每種類型都應該實現一個方法GetEnumerator,該方法返回一個實現接口IEnumerator的類型。然後使用枚舉器,您可以使用foreach語句,該語句本質上實現iterator模式,以遍歷​​您的自定義類型集合的元素。

爲了進一步澄清,請看看以下幾個環節:

  1. IEnumerable
  2. IEnumerator
  3. Iterator Pattern

因此,爲了回答你的問題,我不得不說我們不應該試圖比較IEnumerableIEnumerator。當我們想爲自定義類型使用迭代器模式時,它們都被一起使用。

相關問題