您的位置:首页 > 编程语言 > C#

C# 给线程传数据的两种方法【C#高级教程整理】

2010-12-06 15:08 316 查看
1、一个类,利用方法向线程传数据。

//要传的数据结构
public struct data
{
public string message;
}

//具体功能的方法,注意是object类型
static void ThreadMainWithPra(object o)
{
data d = (data)o;
Console.WriteLine(d.message);
}

private void Form1_Load(object sender, EventArgs e)
{
//调用
data d = new data();
d.message = "ok message";  //给数据结构赋值
Thread t1 = new Thread(ThreadMainWithPra);
t1.Start(d);


2、如果不嫌麻烦,或者有特殊要求,也可以,作一个新类来对线程提供数据。

//这是一个新类
public class myThread
{
//要传的数据,在类里已经变成了一个属性
private string data;

//构造方法,没有返回值
public myThread(string data)
{
this.data = data;
}

//打印,真正实现功能的方法
public void printmess()
{
Console.WriteLine("the message is : " + data);
}
}
//================================================
//另一个类里面的LOAD事件

private void Form1_Load(object sender, EventArgs e)
{
//实例化这个类
myThread my = new myThread("babababa");

//开线程,参数是这个类里真正的方法
Thread t2 = new Thread(my.printmess);
t2.Start();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: