C# 如何使用线程启动带有参数的方法
对于在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
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评论中的链接答案。