2
Task
型の引数をここには表示されない関数に渡す必要があります。関数内でこのタスクは非同期で実行されます。これらの三つの方法の違いは、それをそこに渡す場合:Task.RunとInvoke()の違い
1.
Task.Run((Func<Task>)(async() => Foo = await OperateAsync(id)))
2.
Task.Run(async() => Foo = await OperateAsync(id))
3.
((Func<Task>)(async() => Foo = await OperateAsync(id))).Invoke()
パフォーマンス面では第2のアプローチよりも優れていますか? – AsValeO
@AsValeO同じである必要があります。もしどちらかがかなり速くなれば、それはもう一方の機会に欠けていると思います。デリゲートの建設のために頼んでいた場合、それは第2のものにも暗黙のうちに起こることに留意してください。 – hvd