在下面的代碼:C#異步功能任務<int>
async static Task<int> test(){
Console.WriteLine("{0}: Start 3", DateTime.Now);
await Task.Delay(3000);
return 3;
}
List<Task<int>> tasks2 = new List<Task<int>> {
test(),
new Task<int>(delegate { Console.WriteLine("{0}: Start 3", DateTime.Now); Task.Delay(3000).Wait(); return 3; }),
new Task<int>(delegate { Console.WriteLine("{0}: Start 1", DateTime.Now); Task.Delay(1000).Wait(); return 1; }),
};
foreach (var task in tasks2)
task.Start(); // this cause exception at runtime
爲什麼我不能用test
方法Task<int>
?如果函數返回Task<int>
...
我同意,它已經開始。有沒有辦法,將任務的測試功能通過列表>? –
tower120
我的意思是通過它作爲未開始的任務。就好像它是新的任務(委託{... –
tower120
我已經更新了List初始化部分,現在可以在需要時調用'Start'。 – Martin