如何将多个参数传递给一个C#线程?任何例子都将受到感谢。
发布于 2010-03-22 14:09:30
假设你有一个方法:
void A(string a, int b) {}
这应该可以工作(.NET 2.0):
ThreadStart starter = delegate { A("word", 10); };
Thread thread = new Thread(starter);
thread.Start();
对于更高的版本,则为以下(更短):
ThreadStart starter = () => A("word", 10);
Thread thread = new Thread(starter);
//or just...
//Thread thread = new Thread(() => A("word",10));
thread.start()
发布于 2010-03-22 18:10:47
对于C# 3.0,您可以避免使用匿名方法传递丑陋的对象数组:
void Run()
{
string param1 = "hello";
int param2 = 42;
Thread thread = new Thread(delegate()
{
MyMethod(param1,param2);
});
thread.Start();
}
void MyMethod(string p,int i)
{
}
发布于 2013-02-11 14:25:11
将参数传递给线程的最简单方法之一是
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)
{
}
https://stackoverflow.com/questions/2490219
复制相似问题