如何在线程c#之间传递参数(对象和字符串)?
如何在线程c#之间传递参数(对象和字符串)?,c#,multithreading,parameters,parameter-passing,C#,Multithreading,Parameters,Parameter Passing,我有这段代码。如何将参数(对象和字符串)传递给线程(在“th=newthread(play);”行中)? 谢谢 private Thread th = null; private void Form1_KeyDown(object sender, KeyPressEventArgs e) { [...] th = new Thread(play); th.Start(); } private void play(object sender, string name)
我有这段代码。如何将参数(对象和字符串)传递给线程(在“
th=newthread(play);
”行中)?
谢谢
private Thread th = null;
private void Form1_KeyDown(object sender, KeyPressEventArgs e)
{
[...]
th = new Thread(play);
th.Start();
}
private void play(object sender, string name)
{
[...]
}
您需要更改
play()
方法的签名:
private void play(object data)
{
object[] array = (object[])data; // data is actually an array of objects
object sender = array[0];
string name = (string)array[1];
}
然后,您只需更改启动线程的方式:
th.Start(new object[] { sender, "whatever name" });
您需要更改
play()
方法的签名:
private void play(object data)
{
object[] array = (object[])data; // data is actually an array of objects
object sender = array[0];
string name = (string)array[1];
}
然后,您只需更改启动线程的方式:
th.Start(new object[] { sender, "whatever name" });
..