Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Hàm lặp (Iterator Functions) trong C#

Phương thức lặp (iterator method) thực hiện lặp tùy chỉnh trên tập hợp. Nó sử dụng câu lệnh yield return và trả về từng phần tử một lần. Iterator nhớ vị trí hiện tại và ở lần lặp tiếp theo, phần tử tiếp theo được trả về.

Dưới đây là 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); 
            } 
        } 
    } 
}

Kết quả

99 45 76

Trên đây, chúng ta có phương thức lặp display() sử dụng câu lệnh yield để trả về từng phần tử một lần:

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à từng phần tử được lặp và in:

IEnumerable<string> ele = display(); 
foreach (var element in ele) { 
    Console.WriteLine(element); 
}