C#でのタスクの使用例


  1. タスクの作成と実行 タスクを作成して実行する方法を示します。
using System;
using System.Threading.Tasks;
class Program
{
    static void Main()
    {
        Task task = Task.Run(() =>
        {
            // ここに非同期で実行したいコードを記述します
            Console.WriteLine("タスクが実行されました");
        });
        // タスクの完了を待つ
        task.Wait();
        Console.WriteLine("タスクが完了しました");
    }
}
  1. タスクの戻り値を扱う タスクが値を返す場合、その結果を受け取る方法を示します。
using System;
using System.Threading.Tasks;
class Program
{
    static void Main()
    {
        Task<int> task = Task.Run(() =>
        {
            // ここに非同期で実行したいコードを記述し、結果を返します
            return 42;
        });
        // タスクの完了を待ち、結果を取得する
        int result = task.GetAwaiter().GetResult();
        Console.WriteLine("タスクの結果: " + result);
    }
}
  1. 複数のタスクを並行して実行する 複数のタスクを同時に実行し、完了を待つ方法を示します。
using System;
using System.Threading.Tasks;
class Program
{
    static void Main()
    {
        Task[] tasks = new Task[3];
        tasks[0] = Task.Run(() =>
        {
            Console.WriteLine("タスク1が実行されました");
        });
        tasks[1] = Task.Run(() =>
        {
            Console.WriteLine("タスク2が実行されました");
        });
        tasks[2] = Task.Run(() =>
        {
            Console.WriteLine("タスク3が実行されました");
        });
        // すべてのタスクの完了を待つ
        Task.WaitAll(tasks);
        Console.WriteLine("すべてのタスクが完了しました");
    }
}

これらはC#でタスクを使用するための基本的な例です。タスクは非同期プログラミングの効果的な手法であり、並行性とパフォーマンスの向上に役立ちます。さまざまなタスクのオプションや制御フローを使用して、より高度な非同期操作を実装することもできます。