C# 不同的任务排序方式

C# 不同的任务排序方式,c#,async-await,C#,Async Await,例如,我想订购3个任务,它们以明确的顺序排列。 选项B是否等于关于延续的选项A 备选方案A: Task returnTask = initTask.ContinueWith( async delegate { await homeTask; } ).ContinueWith( async delegate { await sessionTask; } ); await returnTask; 选项B-1内方法: await initTask; await homeTask; await ses

例如,我想订购3个任务,它们以明确的顺序排列。 选项B是否等于关于延续的选项A

备选方案A:

Task returnTask = initTask.ContinueWith( async delegate { await homeTask; } ).ContinueWith( async delegate { await sessionTask; } );
await returnTask;
选项B-1内方法:

await initTask;
await homeTask;
await sessionTask;

由于
ContinueWith
对返回任务的代表没有特殊支持,因此选项A不会等待任务2和3

您是否知道Wait不会启动或运行任务?它等待已经运行的任务。因此,选项B也不会对任务进行排序。这几乎与等待任务相同

或许,您应该使用以下方法:

await F1();
await F2();
await F3();
这样,下一个任务将在上一个任务完成后开始