重たい処理をおこなう場合に非同期処理をよく用いますが、
その処理結果に戻り値を伴うケースも少なくありません。
ここでは async/await 演算子による非同期処理で戻り値を取得する例を紹介します。
ページ内リンク
概要
ここでは「async/await による非同期処理 その 1」で示したサンプルプログラムをそのまま流用します。
戻り値のある非同期処理タスク
戻り値のない非同期処理を記述するときは
「async/await による非同期処理 その 1」で示したサンプルプログラムのように
次のように System.Windows.Tasks.Task クラスを返すように記述しました。
これに対し、戻り値を持つようにするには System.Windows.Tasks.Task<T> クラスを返すようにします。
例えば string 型を返すには次のように Task<string> クラスを返します。
この戻り値を受け取るときは
というようにします。await 演算子が戻り値の Task<string> 型の Task をくり抜いて string 型の戻り値を取得するため、
上記の str 変数は Task<string> クラスではなく、string 型となります。
実行結果は以下のようになります。