c# 中new ThreadStart()怎么用?这里面怎么传参数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 中new ThreadStart()怎么用?这里面怎么传参数?相关的知识,希望对你有一定的参考价值。

我查了下好像new ThreadStart()的括号内只能穿方法名啊,要是方法有参数怎么办呢?
比如:

private void a()
int x = 0;
int y = 201;
int w = 348;
int h = 175;
Thread t = new Thread(new ThreadStart(b(x,y,w,h)));
t.Start();

public void b(int x,int y,int w,int h)
while(true)
//x,y,w,h----》do something....
Thread.Sleep(100);

Thread的参数委托,有2种,一种是无参的,另一种是一个object参数的,如:
new Thread(b).Start(new int[]x,y,w,h);

void b(object args)
int[] arr = (int[])args;
int x=arr[0];
int y= arr[1];

参考技术A Thread calcThread = new Thread(new ParameterizedThreadStart(RunAlg));
calcThread.Start("参数");
函数参数类型必须定义为object :
如:RunAlg(object nParam);
多个参数可以做成类或者数组传入。

以上是关于c# 中new ThreadStart()怎么用?这里面怎么传参数?的主要内容,如果未能解决你的问题,请参考以下文章

new Thread(new ThreadStart(this.StartServer))

c#进程传参

C#之线程ThreadStart

这个问题是关于C#线程内部操作datagridview 使数据重新加载实现向上跑动!!!

C# 多线程,ThreadStart()里面的方法带了参数就提示错误?

C#多线程学习 如何操纵一个线程