简短问题。 这是我的代码。
var t = Task.Run(async delegate
{
await Task.Delay(10);
return 42;
});
t.Wait();
这就是我将通常使用的。但是稍后在我的代码中,我需要更改延迟。我已经尝试过类似的方法,但是我似乎不正确:
t.Wait(page*11);
(每当我单击按钮时,变量“ page”都会更改。因此每次都会有一个新值)
答案 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
方法来阻止等待任务的结果,就像您已经做的那样。您不能将参数传递给结果...