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