Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#5和异步定时器_C#_.net_Timer_Async Await_C# 5.0 - Fatal编程技术网

C#5和异步定时器

C#5和异步定时器,c#,.net,timer,async-await,c#-5.0,C#,.net,Timer,Async Await,C# 5.0,是否有一个新的计时器API允许我这样做 await timer.wait(500); 基本上,睡眠X毫秒,然后继续执行函数的其余部分 await Task.Delay(500); 我有一个我非常喜欢的助手,只是为了增加一点可读性: public static Task Seconds(this int seconds) { return Task.Delay(new TimeSpan(0,0,seconds)); } 这允许我使用 await 5.Seconds(); 您可以轻松

是否有一个新的计时器API允许我这样做

await timer.wait(500);
基本上,睡眠X毫秒,然后继续执行函数的其余部分

await Task.Delay(500);

我有一个我非常喜欢的助手,只是为了增加一点可读性:

public static Task Seconds(this int seconds)
{
    return Task.Delay(new TimeSpan(0,0,seconds));
}
这允许我使用

await 5.Seconds();

您可以轻松地为毫秒、分钟、小时或其他任何时间创建类似的扩展方法。

谢谢,这正是我要寻找的。正如您所期望的,它还具有重载以传入CancellationToken,以防您在UI操作中需要支持取消。:)