以下是一个简单的延迟操作符实现:

public static class Extensions
{
    public static IEnumerable<T> Delay<T>(this IEnumerable<T> source, TimeSpan delay)
    {
        foreach (var item in source)
        {
            yield return item;
            Thread.Sleep(delay);
        }
    }
}

使用方法:

var numbers = Enumerable.Range(1, 10);
foreach (var item in numbers.Delay(TimeSpan.FromSeconds(1)))
{
    Console.WriteLine(item);
}

这将在每次迭代之间等待1秒钟。

C# 类中实现延迟操作符:简单代码示例

原文地址: https://www.cveoy.top/t/topic/lJOL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录