C# 如何使用线程启动带有参数的方法

C# 如何使用线程启动带有参数的方法,c#,asp.net,multithreading,methods,arguments,C#,Asp.net,Multithreading,Methods,Arguments,对于在C#中创建和启动新线程,我们的操作如下: using System.Threading; Thread thread = new Thread(new ThreadStart(WorkThreadFunction)); thread.Start(); public void WorkThreadFunction() { //Stuff Here } 但是带参数的方法呢。 对于这些方法,下面的代码有一个错误 using System.Threading; int a = 5; i

对于在C#中创建和启动新线程,我们的操作如下:

using System.Threading;

Thread thread = new Thread(new ThreadStart(WorkThreadFunction));
thread.Start();

public void WorkThreadFunction()
{
  //Stuff Here
}
但是带参数的方法呢。
对于这些方法,下面的代码有一个错误

using System.Threading;

int a = 5;
int b = 6;
Thread thread = new Thread(new ThreadStart(WorkThreadFunction(a, b)));
thread.Start();


public void WorkThreadFunction(int a, int b)
{
  //Stuff Here
}
错误:

应为方法名

我需要将这些参数传递给该方法
解决办法是什么


提前感谢

使用lambda表达式用参数封装方法调用:

Thread thread = new Thread(new ThreadStart(() => WorkThreadFunction(a, b)));

使用lambda表达式用参数封装方法调用:

Thread thread = new Thread(new ThreadStart(() => WorkThreadFunction(a, b)));

可能重复的
参数化线程启动的可能重复的
。请参阅Chris Gessler评论中的链接答案。
ParameterizedThreadStart
。请参阅Chris Gessler评论中的链接答案。