Roy*_*mir 5 .net c# task task-parallel-library
我有这个示例代码:
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
Run Code Online (Sandbox Code Playgroud)
它显然Result从t1任务中返回.(这是1)
但是我怎样才能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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
477 次 |
| 最近记录: |