タスク ベースの非同期パターン (TAP) を使用して非同期操作を行うと、コールバックを使用して、ブロックすることなく待機できます。 タスクの場合、これは Task.ContinueWith などのメソッドによって行われます。 言語ベースの非同期サポートが、通常の制御フロー内での非同期操作の待機を許可することで、コールバックを隠し、コンパイラにより生成されたコードはこの同じ API レベルのサポートを提供します。 Await による実行の中断 Task オブジェクトおよび Task<TResult> オブジェクトの非同期での待機には、C# では await キーワード、Visual Basic では Await 演算子を使用できます。 Task を待っているとき、await 式は型 void になります。 Task<TResult> を待っているとき、await 式は型 TResult に