我有这个示例代码:
Task<int> t1= new Task<int>(()=>1);
t1.ContinueWith(r=>1+r.Result).ContinueWith(r=>1+r.Result);
t1.Start();
Console.Write(t1.Result); //1
它显然从 t1
任务返回了 Result
。 (这是 1)
但是如何从last 继续任务中获取Result
(它应该是3
{1+1+1})
最佳答案
ContinueWith
本身返回一个任务 - Task<int>
在这种情况下。你可以做任何事情(或多或少 - 你不能手动 Start
继续,例如)你希望这个任务你可以用“原始”任务完成,包括等待它完成和检查它的结果。
var t1 = new Task<int>( () => 1);
var t2 = t1.ContinueWith(r => 1 + r.Result)
.ContinueWith(r => 1 + r.Result);
t1.Start();
Console.Write(t1.Result); //1
Console.Write(t2.Result); //3
关于c# - 获取最后一个 Task<> 的结果(继续)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16621600/