重要な C# トピック

C#のasyncとawaitによる非同期プログラミング

このレッスンでは、asyncとawaitで非同期のコードを書き、プログラムを止めずに処理の完了を待ちます。

はじめに

ファイルの読み込み、APIの呼び出し、タイマーの待機のように時間のかかる操作を待つとき、非同期(asynchronous)プログラミングを使えば、待っている間に処理の流れが止まりません。C#の2つのキーワードasyncとawaitを使うと、非同期のコードを普通の順番どおりのコードと同じくらい読みやすく書けます。

Mainメソッドはstatic async Taskで宣言されています。await Task.Delay(20)は、実行中のスレッドを止めずに、メソッドを20ミリ秒だけ一時停止します。待機が終わると、メソッドはその位置から実行を再開し、Async work completeと表示します。

実行できる C# の例

C#
コードを実行 →
Program.cs
using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        await Task.Delay(20);
        Console.WriteLine("Async work complete");
    }
}
実行結果
Async work complete

デバッガーで練習する

大事な代入や条件にブレークポイントを置いて Debug を押し、次の行に進む前にローカル変数の値を確かめましょう。

チャレンジで練習する

このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。

すべてのチャレンジ