C# yeild的两种形式的yield语句:
yield return <expression>;
yield break;
使用 yield return 语句每一次返回每个元素。
将使用 foreach 语句从客户端代码中调用迭代器。 foreach
循环的每次迭代都会调用迭代器方法。 迭代器方法运行到 yield return 语句时,会返回一个expression表达式并保留当前在代码中的位置。
当下次调用迭代器函数时执行从该位置重新启动。
可以用 yield break语句来终止迭代。
示例:
using System;
using System.Collections.Generic;
using System.Text;class Program
{
static void Main(string[] args)
{
foreach (int i in Power(2, 8))
{
Console.WriteLine(i);
}
}public static IEnumerable<int> Power(int number, int exponent)
{
int result = 1;
for (int i = 0; i < exponent; i++)
{
result *= number;
yield return result;
}
}
}
运行输出:
2
4
8
16
32
64
128
256
请按任意键继续. . .
时间: 2024-10-13 09:42:43