在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表达式可以更简洁地传递参数给线程。