列出方法的<task>但具有不同的参数

时间:2017-03-23 21:03:12

标签: c# list

我有一个button,在我的tasks中添加了一些新的List<Task>

List<Task> tasks = new List<Task>();

int repeatCount = X;
private void createTaskButton_Click(object sender, RoutedEventArgs e)
{
    for (int i = 0; i < repeatCount; i++)
        {
           tasks.Add(new Task(() => doMethod()));
        }
}

我想为每个parameter将不同的iteration传递给我的方法。有人可以给我一些关于如何做到这一点的例子吗?

  

iteration 1 = doMethod(1);

     

iteration 2 = doMethod(2);

     

iteration 3 = doMethod(3);

1 个答案:

答案 0 :(得分:0)

Some of the Task constructors take a state argument.您可以使用它来在您随时间更改变量的情况下传递状态(即您处于循环中)。这样的事情会做:

for (var i = 0; i < repeatCount; ++i)
    tasks.Add(new Task(o => doMethod((int) o)), i);