首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将多个参数传递给一个C#线程?

如何将多个参数传递给一个C#线程?
EN

Stack Overflow用户
提问于 2010-03-22 13:48:34
回答 4查看 38.3K关注 0票数 18

如何将多个参数传递给一个C#线程?任何例子都将受到感谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-22 14:09:30

假设你有一个方法:

代码语言:javascript
复制
void A(string a, int b) {}

这应该可以工作(.NET 2.0):

代码语言:javascript
复制
ThreadStart starter = delegate { A("word", 10); };
Thread thread = new Thread(starter);

thread.Start();

对于更高的版本,则为以下(更短):

代码语言:javascript
复制
ThreadStart starter = () => A("word", 10);
Thread thread = new Thread(starter);

//or just...
//Thread thread = new Thread(() => A("word",10));

thread.start()
票数 44
EN

Stack Overflow用户

发布于 2010-03-22 18:10:47

对于C# 3.0,您可以避免使用匿名方法传递丑陋的对象数组:

代码语言:javascript
复制
void Run()
{
    string param1 = "hello";
    int param2 = 42;

    Thread thread = new Thread(delegate()
    {
        MyMethod(param1,param2);
    });
    thread.Start();
}

void MyMethod(string p,int i)
{

}
票数 4
EN

Stack Overflow用户

发布于 2013-02-11 14:25:11

将参数传递给线程的最简单方法之一是

代码语言:javascript
复制
Thread xmlThread =new Thread( ()=>WriteLog(LogTypes.Message, "Flag", "Module", "Location", "Text", "Stacktrace"));
                xmlThread.Start();



private object WriteLog(LogTypes logTypes, string p, string p_2, string p_3, string p_4, string p_5)
        {

        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2490219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档