當前位置:成語大全網 - 書法字典 - 什麽是叠代器?

什麽是叠代器?

叠代器是壹個對象,可用於遍歷標準模板庫容器中的部分或全部元素,每個叠代器對象代表容器中的某個地址。叠代器修改了傳統指針的接口。所謂的叠代器是壹種概念上的抽象:任何行為類似叠代器的東西都可以稱為叠代器。然而,叠代器具有許多不同的能力,可以將抽象容器和通用算法有機地統壹起來。

叠代器使開發人員能夠支持類或結構中的foreach叠代,而不必實現整個IEnumerable或IEnumerator接口。只需提供壹個叠代器來遍歷類中的數據結構。當編譯器檢測到叠代器時,它將自動生成IEnumerable接口或IEnumerator接口的Current、MoveNext和Dispose方法。

擴展數據:

叠代器的特征:

1.叠代器是壹段代碼,可以返回相同類型的有序值序列;

2.叠代器可以用作方法、操作符或get訪問器的代碼體;

3.叠代器代碼使用yieldreturn語句依次返回每個元素,yield break將終止叠代;

4.類中可以實現多個叠代器,每個叠代器必須像任何類成員壹樣具有唯壹的名稱,並且可以由客戶端在foreach語句中調用。代碼調用如下:簡單類中的foreach(int x。叠代器2){ };

5.叠代器的返回類型必須是IEnumerable或IEnumerator

6.叠代器是壹個產生有序值序列的語句塊,它不同於具有壹個或多個yield語句的常規語句塊;

7.叠代器不是成員,它只是實現函數成員的壹種方式。了解叠代器實現的成員可以被叠代器可能實現或未實現的其他成員覆蓋和重載非常重要。

8.叠代器塊不是C#語法中的唯壹元素。它們在幾個方面受到限制,並且主要作用於函數成員聲明的語義。它們只是語法中的句子塊。

9.9.yield關鍵字用於指定返回值。當到達yieldreturn語句時,保存當前位置。下次調用叠代器時,執行將從這個位置重新開始。叠代器對於集合類特別有用。它們提供了壹種簡單的方法來叠代不常用的數據結構,如二叉樹。

參考資料:

百度百科-叠代器