在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以后,還可以使用Lambda表達式來傳遞參數給線程,例如:
Thread thread = new Thread(() =>
{
string message = "Hello, World!";
Console.WriteLine("工作線程收到參數:{0}", message);
});
thread.Start();
使用Lambda表達式可以更簡潔地傳遞參數給線程。