更改延迟计时器? (C#)

时间:2018-08-08 14:17:45

标签: c# task delay wait

简短问题。 这是我的代码。

var t = Task.Run(async delegate
{
    await Task.Delay(10);
    return 42;
});
t.Wait();

这就是我将通常使用的。但是稍后在我的代码中,我需要更改延迟。我已经尝试过类似的方法,但是我似乎不正确:

t.Wait(page*11);

(每当我单击按钮时,变量“ page”都会更改。因此每次都会有一个新值)

1 个答案:

答案 0 :(得分:3)

您可以声明一个变量并将其值传递给您在Task中传递的委托。运行如下:

// define here the delayParam
int delayParam = 10;

var t = Task.Run(() => 
{
    await Task.Delay(delayParam);
    return 42;
});
t.Wait();

Task.Run的返回类型为Task<T>,如果没有返回,则仅为Task。您可以通过调用Wait方法来阻止等待任务的结果,就像您已经做的那样。您不能将参数传递给结果...