在C#中,yield
關鍵字用于定義一個迭代器方法,該方法可以返回一個可枚舉的序列。
使用yield
關鍵字的語法如下:
yield return expression;
其中,expression
是要返回的值。
使用yield return
語句時,迭代器方法會返回一個序列中的下一個元素,并在下一次迭代時繼續執行方法。
以下是一個使用yield
的例子:
public static IEnumerable<int> GetNumbers()
{
yield return 1;
yield return 2;
yield return 3;
}
// 調用迭代器方法
foreach (int number in GetNumbers())
{
Console.WriteLine(number);
}
上述代碼定義了一個名為GetNumbers
的迭代器方法,它會返回一個包含1、2、3的序列。在foreach
循環中調用GetNumbers
方法時,每次迭代會返回序列中的下一個元素,并將其賦值給number
變量,然后輸出到控制臺。
使用yield
可以方便地創建和使用迭代器,而不需要顯式地實現IEnumerable
和IEnumerator
接口。