在C#中,yield return用于創建一個迭代器(iterator),使得一個方法可以在每次調用時返回一個序列中的元素。通過yield return可以簡化迭代器的實現,使代碼更加簡潔和易讀。
當在一個方法中使用yield return時,這個方法就會變成一個迭代器方法,可以通過foreach循環來迭代返回的元素序列。每次調用迭代器方法時,方法會執行到yield return語句處,將表達式的值作為當前元素返回給調用者,并在下一次調用時從yield return語句的下一行開始執行。
例如,下面是一個使用yield return的簡單示例:
public static IEnumerable<int> GetNumbers()
{
yield return 1;
yield return 2;
yield return 3;
}
// 調用GetNumbers方法
foreach (int num in GetNumbers())
{
Console.WriteLine(num);
}
在上面的示例中,GetNumbers方法是一個迭代器方法,通過yield return關鍵字返回了一個包含1、2、3的整數序列。在foreach循環中,可以依次遍歷并打印出每一個元素。