私が理解していることから、使用するawaitには、 としてマークされているメソッド内にいる必要がありますasync。その場合は、awaiton anyTask<Thing>を使用して、 の結果の値をある程度同期的に取得できますTask。
Task<bool> task = new Task<bool>(() => false);
task.Start();
int result = await task;
これを行うには、 でマークされたメソッド内にいる必要がありますasync。
ここで聞きたいのは、 の意味とasync、メソッドを でマークした結果はどうなるかということasyncです。
また、この2つの違いは何ですか?
Task<bool> Foo() {
var task = new Task<bool>(() => false);
task.Start();
return task;
}
async Task<bool> Foo2() {
var task = new Task<bool>(() => false);
task.Start();
return await task;
}
どちらもメソッドawait内から使用できます。async
var res1 = await Foo();
var res2 = await Foo2();
体内でFoo2使えるのと使えないのとの違いだけですか?awaitFoo