从主线程向 ThreadStart 传递参数
创建新线程并向其目标方法传递参数时,了解语法至关重要以及 C# 中可用的选项。考虑以下场景:
<br>public void download(string filename)<br>{<pre class="brush:php;toolbar:false">// download code
}
Thread thread = new Thread (新的ThreadStart(download(filename)));
但是,此代码将导致编译错误,因为 ThreadStart 构造函数需要一个不带参数的方法。那么,我们如何从主线程向 ThreadStart 方法传递参数呢?
最简单的方法:Lambda 表达式
最简单的解决方案是使用 lambda 表达式作为目标方法,如下所示:
string filename = ... Thread thread = new Thread(() => download(filename)); thread.Start();
此技术允许您将多个参数传递给目标方法并提供编译时无需从对象进行投射即可进行检查。
以上是如何在 C# 中向 ThreadStart 方法传递参数?的详细内容。更多信息请关注PHP中文网其他相关文章!