首页 >后端开发 >C++ >如何在 C# 中向 ThreadStart 方法传递参数?

如何在 C# 中向 ThreadStart 方法传递参数?

Barbara Streisand
Barbara Streisand原创
2025-01-07 08:07:41213浏览

How to Pass Parameters to a ThreadStart Method in C#?

从主线程向 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn