我正在实现一个方法
这是我目前正在做的:
Task<Result> StartSomeTask()
,并在调用该方法之前已经知道了结果。我该如何创建一个已经完成的Task<T>?这是我目前正在做的:
private readonly Result theResult = new Result();
public override Task<Result> StartSomeTask()
{
var task = new Task<Result>(() => theResult);
task.RunSynchronously(CurrentThreadTaskScheduler.CurrentThread);
return task;
}
有更好的解决方案吗?
ValueTask
用于已完成的任务(即对于您已经拥有的值,使代码本质上是同步的),这将节省您的分配。 - nawfal