C#でスレッドにパラメータを渡す方法は何ですか?

C#では、ThreadクラスのParameterizedThreadStartデリゲートを使用してスレッドにパラメーターを渡すことができます。以下はサンプルコードです:

using System;
using System.Threading;

class Program
{
    static void Main()
    {
        // 创建一个线程,并传递参数给线程
        Thread thread = new Thread(new ParameterizedThreadStart(WorkThread));
        thread.Start("Hello, World!");

        Console.WriteLine("主线程");

        Console.ReadLine();
    }

    static void WorkThread(object data)
    {
        string message = (string)data;
        Console.WriteLine("工作线程收到参数:{0}", message);
    }
}

上記のコードでは、新しいスレッドを作成し、ParameterizedThreadStartデリゲートを使用してスレッドにパラメータを渡しました。作業スレッドでは、受け取ったパラメータを必要な型に変換し、それに応じた操作を行います。

C# 4.0以降では、スレッドにパラメーターを渡すためにラムダ式を使用することもできます。例えば、

Thread thread = new Thread(() =>
{
    string message = "Hello, World!";
    Console.WriteLine("工作线程收到参数:{0}", message);
});
thread.Start();

Lambda式を使うことで、スレッドにパラメータを簡潔に渡すことができます。

bannerAds