使用c# yield实现延迟执行

c#
830
2024/7/9 23:37:43
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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类型的序列。在该方法中,使用yield return关键字来逐个地生成数字1到5,并在控制台打印每个生成的数字。

在Main方法中,通过foreach循环遍历GetNumbers方法返回的序列,实现延迟执行的效果。每次循环迭代时,都会调用GetNumbers方法来生成下一个数字。

通过使用yield关键字,可以实现简单而有效的延迟执行功能,适用于需要按需生成大量元素的情况。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: yield c# 在框架设计中的应用