在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
接口。