新任务

时间:2016-07-07 09:08:52

标签: c# async-await

我有一个控制台应用程序,在主方法中启动了这样的任务:

Task t = new Task(Search);
t.Start();

我想更改Search()方法以接受参数但是当我这样做时,我尝试下面的代码我得到一个关于将void转换为动作的错误:

Task t = new Task(Search("keyword"));
t.Start();

传递参数的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

这应该有效:

Task t = new Task(() => Search("keyword"));
t.Start();

答案 1 :(得分:0)

    Task t = Task.Factory.StartNew(() => { 
                                          Search("abc"),     
                                          TaskCreationOptions.LongRunning, 
                                          TaskScheduler.Default 
                                          });