在C#中,可以使用yield关键字来实现延迟执行。通过yield关键字,可以实现按需生成序列的功能,而不需要一次性生成所有元素。
下面是一个简单的示例,展示如何使用yield来实现延迟执行:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
foreach (var number in GetNumbers())
{
Console.WriteLine(number);
}
}
static IEnumerable<int> GetNumbers()
{
for (int i = 1; i <= 5; i++)
{
Console.WriteLine($"Generating number: {i}");
yield return i;
}
}
}
在上面的示例中,GetNumbers方法返回一个IEnumerable
在Main方法中,通过foreach循环遍历GetNumbers方法返回的序列,实现延迟执行的效果。每次循环迭代时,都会调用GetNumbers方法来生成下一个数字。
通过使用yield关键字,可以实现简单而有效的延迟执行功能,适用于需要按需生成大量元素的情况。