首页 > 编程语言 > 详细

C# 多线程、结构体

时间:2015-04-18 17:41:12      阅读:271      评论:0      收藏:0      [点我收藏+]
     struct IpAndPort
{
public string Ip;
public int Port;
}

private void Form1_Load(object sender, EventArgs e)
{
Thread thr = new Thread(a);
IpAndPort aa = new IpAndPort();
aa.Ip = "123.123.123.123";
aa.Port = 123;
thr.Start((object)aa);
}

private void a(object aa)
{
IpAndPort ip = (IpAndPort)aa;
MessageBox.Show(ip.Ip + ":" + ip.Port.ToString());
}

注:参数必须是object型的,并且只能一个。其他类型的可以通过显式转换成object型,然后在线程方法里再转回来。
如果有多个变量则可以自己定义一个struct或者类,然后转换成object型,然后在线程方法里再转回来。

另ThreadStart是没有参数的,要使用带参数的方法这样使用:
Thread thr = new Thread(a);
而不是
Thread thr = new Thread(new ThreadStart(a));

C# 多线程、结构体

原文:http://www.cnblogs.com/aiqingqing/p/4437700.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!