C#5和异步​​计时器

时间:2012-03-17 01:48:11

标签: c# .net timer async-await c#-5.0

是否有新的Timer API可以让我这样做?

await timer.wait(500);

基本上,要睡眠X ms然后恢复执行其余功能

2 个答案:

答案 0 :(得分:21)

尝试使用

await Task.Delay(500);

答案 1 :(得分:10)

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

public static Task Seconds(this int seconds)
{
    return Task.Delay(new TimeSpan(0,0,seconds));
}

这允许我使用像

这样的东西
await 5.Seconds();

您可以轻松地制作类似于毫秒,分钟,小时等的扩展方法。