Daftar Isi:
Definisi - Apa yang dimaksud Iterator?
Sebuah iterator, dalam konteks C #, adalah blok kode yang mengembalikan urutan nilai-nilai koleksi atau array. Ini adalah fungsi anggota yang diimplementasikan menggunakan blok iterator, yang berisi satu atau lebih pernyataan yang berisi kata kunci "hasil".
Sebuah iterator digunakan untuk memungkinkan konsumen kelas kontainer, yang mengandung koleksi atau array, untuk melintasi koleksi menggunakan pernyataan "foreach" dengan cara yang lebih sederhana. Ini digunakan dengan kelas koleksi sangat diketik untuk beralih struktur data yang kompleks seperti pohon biner, yang membutuhkan traversal rekursif dan mempertahankan keadaan iterasi melalui rekursi. Konsep iterator juga digunakan dalam mengimplementasikan eksekusi yang ditangguhkan dalam permintaan LINQ.
Techopedia menjelaskan Iterator
Iterator didasarkan pada pola desain yang menyediakan metode untuk melintasi elemen koleksi item secara berurutan tanpa memaparkan struktur yang mendasari koleksi. Ini menghilangkan tugas yang membosankan mengimplementasikan antarmuka "IEnumerator" secara manual ketika membuat kelas koleksi yang mendukung pernyataan "foreach". Kode Bahasa Menengah yang diperlukan untuk mengimplementasikan metode dan properti antarmuka IEnumerator dihasilkan oleh kompiler, yang menghasilkan sintaksis yang lebih sederhana, ukuran kode yang dikurangi, dan peningkatan produktivitas pengembang.
Secara umum, iterator mirip dengan kursor database karena menyediakan akses ke elemen data dalam koleksi, tetapi tidak melakukan iterasi. Sebuah iterator dapat diimplementasikan dalam C # sebagai metode, operator, atau mendapatkan pengakses. Misalnya, sebuah iterator dapat digunakan untuk melintasi kumpulan string untuk menampilkan konten dari setiap string dalam koleksi.
Iterator diwakili oleh antarmuka IEnumerator dan diimplementasikan oleh kompiler dengan metode berikut:
- MoveNext: Metode yang maju ke elemen koleksi berikutnya dan menunjukkan akhir koleksi itu
- Saat Ini: Properti yang mengambil nilai elemen yang sedang ditunjukkan
- Buang: Bersihkan iterasi
