gpt4 book ai didi

c# - 创建结果已经准备好的任务的正确方法

转载 作者:行者123 更新时间:2023-11-30 18:03:09 25 4
gpt4 key购买 nike

有时我会创建这样的方法

Task<int> f()
{
if (...) return Task.Factory.StartNew(() => 42); // in this case, result already known
else ... // return some "real task"
}

但我想知道是否有一种方法可以创建一个已经完成的任务,这样我就不会招致任何安排“计算”42 的潜在开销

最佳答案

使用 TaskCompletionSource<T> :

TaskCompletionSource<int> tcs = new TaskCompletionSource<int>();
tcs.SetResult(42);
return tcs.Task;

(通过 MSDN )

关于c# - 创建结果已经准备好的任务的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7490990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com