C#中收益率的用途是什么?
Yield关键字有助于对集合进行自定义的有状态迭代。这意味着当我们使用yield关键字时,控件会从调用者函数到源代码之间来回移动,反之亦然。
示例
using System;
using System.Collections.Generic;
namespace DemoApplication {
class Program {
static List<int> numbersList = new List<int> {
1, 2, 3, 4, 5
};
public static void Main() {
foreach(int i in RunningTotal()) {
Console.WriteLine(i);
}
Console.ReadLine();
}
public static IEnumerable<int> RunningTotal() {
int runningTotal = 0;
foreach(int i in numbersList) {
runningTotal += i;
yield return (runningTotal);
}
}
}
}输出结果
上面程序的输出是
1 3 6 10 15
在上面的示例中,对于每种主要方法,我们都在遍历运行总计的数字列表。因此,每当调用yieldreturn时,控件都会返回到每个循环的main方法并输出值。打印完该值后,控制将再次转到每个运行总计。这里需要注意的一件事是,先前的值也被保留。简而言之,yield关键字有效地对收集项创建了一个惰性枚举,而这种枚举可以更加有效。
热门推荐
10 读书祝福语女生短句简短
11 感谢同事新婚祝福语简短
12 感谢教官文案祝福语简短
13 员工聚会蛋糕祝福语简短
14 元宵发客户祝福语简短
15 给团队信心祝福语简短
16 医美的祝福语大全简短
17 异国姻缘的祝福语简短
18 兄妹拍照祝福语简短的话