1. ホーム
  2. c#

[解決済み] C#の新機能「await」は何をするものなのか?[クローズド]

2023-05-31 21:51:47

質問

を説明できる人はいますか? await 関数が何をするのか説明できますか?

どのように解決するのですか?

彼らはただ PDC でこのことについて話しています。 で話していました。

Awaitは、.NETのTasks(並列プログラミング)と組み合わせて使用されます。 これは、.NET の次のバージョンで導入されるキーワードです。 これは、タスクの実行が完了するのを待つためにメソッドの実行を一時停止させます。 以下は、その簡単な例です。

//create and run a new task  
Task<DataTable> dataTask = new Task<DataTable>(SomeCrazyDatabaseOperation);

//run some other code immediately after this task is started and running  
ShowLoaderControl();  
StartStoryboard();

//this will actually "pause" the code execution until the task completes.  It doesn't lock the thread, but rather waits for the result, similar to an async callback  
// please so also note, that the task needs to be started before it can be awaited. Otherwise it will never return
dataTask.Start();
DataTable table = await dataTask;

//Now we can perform operations on the Task result, as if we're executing code after the async operation completed  
listBoxControl.DataContext = table;  
StopStoryboard();  
HideLoaderControl();