C#向线程中传递多个参数的解决方法(两种)
更新时间:2016年07月27日 11:02:42 投稿:mrr
这篇文章主要介绍了C#向线程中传递多个参数的解决方法(两种)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
问题:
对于多线程编程,很多时候往往需要向线程中传递多个参数,而C#中的线程只接收1个object类型的参数(如下):
1 2 3 4 5 6 |
|
而现在需要往线程中传递多个参数,比如method方法想用单独的线程来跑
1 2 3 4 |
|
解决办法1:新建一个跑方法的类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
然后新建一个该类实例,赋值之后就可以跑了,代码如下;
1 2 3 4 5 |
|
2、解决方法2:将数组或集合实例作为参数传入
目前正在做一个多线程的软件,用到了这部分,感觉每次都要新建类,比较麻烦,查了网上主流都是解决方法1中的方法,后来自己琢磨出另一个方法,就是尽管新的线程只能传1个参数进去,但是我们可以传一个集合或者数组类的参数进去,这样就可以解决一次向新线程中传递多个参数的问题了。
同样,对于上面的method的方法,需要传递2个int类型的整数,首先添加一个method方法的重载
1 2 3 4 5 6 7 |
|
再将要传递的参数用数组或集合方式储存起来
1 |
|
最后新建线程进行调用
1 2 |
|
这样就可以达到将2个参数传递入线程的目的了。
传递的参数类型也可以用List<>或其他集合,传递进去的这些参数的类型都是相同的,对于不同的类型,可以考虑采用List<object>或者object[] 的方式传进去,在重载的方法中再对参数进行处理即可。
以上所述是小编给大家介绍的C#向线程中传递多个参数的解决方法(两种) ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!