一尘不染

如何将参数传递给Thread中的ThreadStart方法?

c#

如何将参数传递给Thread.ThreadStart()C#中的方法?

假设我有一个名为“下载”的方法

public void download(string filename)
{
    // download code
}

现在,我在main方法中创建了一个线程:

Thread thread = new Thread(new ThreadStart(download(filename));

错误方法类型预期。

如何将参数传递给ThreadStart带有参数的目标方法?


阅读 947

收藏
2020-05-19

共1个答案

一尘不染

最简单的就是

string filename = ...
Thread thread = new Thread(() => download(filename));
thread.Start();

(相对于ParameterizedThreadStart)的优点是,您可以传递多个参数,并且无需进行object所有转换就可以进行编译时检查。

2020-05-19