Iterator thực hiện một lần lặp tùy chỉnh trên một bộ sưu tập. Nó sử dụng câu lệnh trả về lợi nhuận và trả về từng phần tử một. Trình lặp ghi nhớ vị trí hiện tại và trong lần lặp tiếp theo, phần tử tiếp theo được trả về.
Sau đây là một ví dụ -
Ví dụ
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); } } } }
Đầu ra
99 45 76
Ở trên, chúng ta có một phương thức trình lặp display () sử dụng câu lệnh lợi nhuận để trả về một phần tử tại một thời điểm -
public static IEnumerable<string> display() { int[] arr = new int[] {99,45,76}; foreach (var val in arr) { yield return val.ToString(); } }
Kết quả được lưu trữ và mỗi phần tử được lặp lại và in ra -
IEnumerable<string> ele = display(); foreach (var element in ele) { Console.WriteLine(element); }