使用 lambda 表达式可以轻松地向 Thread.ThreadStart() 方法传递参数。让我们考虑一下您的场景,您有一个名为“download”的方法,并且想要创建一个执行此方法的线程。
您当前的尝试:
Thread thread = new Thread(new ThreadStart(download(filename));
将导致错误,因为ThreadStart() 方法需要一个不带参数的方法。要传递参数,可以使用 lambda 表达式,如下所示:
string filename = ... Thread thread = new Thread(() => download(filename)); thread.Start();
在此代码中,lambda 表达式提供了 ThreadStart() 所需的无参数方法,并在内部调用指定的 'download' 方法
这种方法比使用 ParameterizedThreadStart 有几个优点:
以上是如何将参数传递给 C# Thread.ThreadStart 方法?的详细内容。更多信息请关注PHP中文网其他相关文章!