c#怎么拟合函数得到参数_c# Task启动带参数和返回值的函数任务

Task有时候相当于Thread的作用

下面的例子test2 是个带参数和返回值的函数。

private int test2(object i){

this.Invoke(new Action(()=>{pictureBox1.Visible=true;}));

System.Threading.Thread.Sleep(3000);

MessageBox.Show("hello:"+ i);

this.Invoke(new Action(()=>{pictureBox1.Visible=false;}));

return 0;

}

//测试调用

private void call(){

//Func funcOne = delegate(string s){ return "fff"; };

object i=55;

var t= Task.Factory.StartNew(new Func(test2),i);

}

=下载网站源文件例子========================

HttpClient 引用System.Net.Http

private async Task test2(object i){

this.Invoke(new Action(()=>{pictureBox1.Visible=true;}));

HttpClient client= new HttpClient();

var a= await client.GetAsync("http://www.baidu.com");

Task s= a.Content.ReadAsStringAsync();

MessageBox.Show (s.Result);

//System.Threading.Thread.Sleep(3000);

//MessageBox.Show("hello:"+ i);

this.Invoke(new Action(()=>{pictureBox1.Visible=false;}));

return 0;

}

async private void call(){

//Func funcOne = delegate(string s){ return "fff"; };

object i=55;

var t= Task>.Factory.StartNew(new Func>(test2),i);

}

---------------或者---------

private async void test2(){

this.Invoke(new Action(()=>{pictureBox1.Visible=true;}));

HttpClient client= new HttpClient();

var a= await client.GetAsync("http://www.baidu.com");

Task s= a.Content.ReadAsStringAsync();

MessageBox.Show (s.Result);

this.Invoke(new Action(()=>{pictureBox1.Visible=false;}));

}

private void call(){

var t= Task.Run(new Action(test2));

//相当于

//Thread th= new Thread(new ThreadStart(test2));

//th.Start();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值