Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

Iterators (ตัววนซ้ำ) ใน C#

Iterator ทำการวนซ้ำแบบกำหนดเอง (custom iteration) บนคอลเลกชัน ใช้คำสั่ง yield return ส่งคืนสมาชิกทีละตัว Iterator จะจดจำตำแหน่งปัจจุบัน และรอบถัดไปจะส่งคืนสมาชิกถัดไป

ตัวอย่าง

using System;
using System.Collections.Generic;
using System.Linq;

namespace Demo {
    class Program {
        public static IEnumerable<string> display() {
            int[] arr = new int[] {99, 45, 76};
            foreach (var val in arr) {
                yield return val.ToString();
            }
        }
        
        public static void Main(string[] args) {
            IEnumerable<string> ele = display();
            foreach (var element in ele) {
                Console.WriteLine(element);
            }
        }
    }
}

ผลลัพธ์

99
45
76

อธิบาย: เมธอด display() ใช้ yield return ส่งคืนทีละสมาชิก ผลลัพธ์ถูกเก็บและวนลูปพิมพ์แต่ละตัว