C# 2.0
List<T>
可以依照索引存取的強型別物件清單。提供搜尋、排序和管理清單的方法。
Iterator
Iterator 是 C# 2.0 中的新功能。Iterator 是一種方法、get 存取子或運算子,它可讓您支援類別或結構中的 foreach 反覆運算,而不需要實行整個 IEnumerable 介面。相反地,您只要提供 Iterator,它會只往返於類別中的資料結構。當編譯器偵測到您的 Iterator 時,它會自動產生 IEnumerable 或 IEnumerable 介面的 Current、MoveNext 和 Dispose 方法。
Iterator 概觀
Iterator 是程式碼區段,會傳回相同型別之按順序排列的值。
Iterator 可以當做方法主體、運算子或 get 存取子使用。
Iterator 程式碼會使用 yield return 陳述式輪流傳回各元素。yield break 則會結束反覆運算。如需詳細資訊,請參閱 yield。
可在類別上實作多個 Iterator。每個 Iterator 必須像任何類別成員一樣擁有唯一名稱,且可以由 foreach 陳述式中的用戶端程式碼叫用,如下所示:foreach(int x in SampleClass.Iterator2){}。
Iterator 的傳回型別必須是 IEnumerable、IEnumerator、IEnumerable 或 IEnumerator。
yield 關鍵字可用來指定傳回的值。當到達 yield return 陳述式時,便會儲存目前的位置。此 Iterator 下一次被呼叫時,就會從這個位置重新執行。
Iterator 特別適合與集合類別搭配使用,因為能夠提供逐一查看像是二元樹等複雜資料結構的方法。
沒有留言:
張貼留言