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