更改延迟计时器? (C#)
Changing the delay timer? (c#)
简短的问题。
这是我的代码。
var t = Task.Run(async delegate
{
await Task.Delay(10);
return 42;
});
t.Wait();
这就是我通常会使用的内容。但稍后在我的代码中我需要延迟来改变。我已经尝试过类似的方法,但我觉得不对:
t.Wait(page*11);
(每当我点击一个按钮时,变量 "page" 就会改变。几乎每次都是一个新值)
您可以声明一个变量并将其值传递给您在 Task.Run 中传递的委托,如下所示:
// define here the delayParam
int delayParam = 10;
var t = Task.Run(() =>
{
await Task.Delay(delayParam);
return 42;
});
t.Wait();
Task.Run 的 return 类型是一个 Task<T>
或者只是一个 Task
如果没有它是 returned。您可以通过调用 Wait
方法阻止等待任务的结果,就像您已经做的那样。您不能将参数传递给结果...
简短的问题。 这是我的代码。
var t = Task.Run(async delegate
{
await Task.Delay(10);
return 42;
});
t.Wait();
这就是我通常会使用的内容。但稍后在我的代码中我需要延迟来改变。我已经尝试过类似的方法,但我觉得不对:
t.Wait(page*11);
(每当我点击一个按钮时,变量 "page" 就会改变。几乎每次都是一个新值)
您可以声明一个变量并将其值传递给您在 Task.Run 中传递的委托,如下所示:
// define here the delayParam
int delayParam = 10;
var t = Task.Run(() =>
{
await Task.Delay(delayParam);
return 42;
});
t.Wait();
Task.Run 的 return 类型是一个 Task<T>
或者只是一个 Task
如果没有它是 returned。您可以通过调用 Wait
方法阻止等待任务的结果,就像您已经做的那样。您不能将参数传递给结果...