using System;
using System.Collections;
namespace Test
{
//应用协程实现异步效果
class MyJob
{
public System.Collections.IEnumerator StartDelay(float sec)//返回类型是枚举器
{
DateTime dt = DateTime.Now;
while((DateTime.Now - dt).TotalSeconds < sec)
{
Console.WriteLine((DateTime.Now - dt).TotalSeconds);
yield return 1;
}
Console.WriteLine("emmm");
}
}
class Program {
static void Main(string[] args)
{
MyJob core = new MyJob();
IEnumerator it = core.StartDelay(2);//这里不会有任何输出,应该是传了函数的地址
while(true)
{
if (it.MoveNext())//可以理解为执行函数
{
Console.WriteLine(it.Current);
}
}
Console.ReadKey();
}
}
}
C#枚举器和迭代器(代码)
最新推荐文章于 2024-07-21 08:00:00 发布