H5W3
当前位置:H5W3 > 问答 > 正文

请问在循环中动态生成task应当如何传递参数?

如下:
int i = 0;
List<string> strs = new List<string> { “111”, “222”, “333” };
while (i < 3)
{
var task = Task<List<string>>.Factory.StartNew(() =>
{
var list = new List<string>();
Thread.Sleep(2000);

                list.Add(strs[i]);
i++;
return list;
});
tasks.Add(task);
}

代码 list.Add(strs[i]);会出错(i==3),那么,我要当用什么办法来将数据传入到task中呢?

回答

直接上代码

var task = Task<List<string>>.Factory.StartNew((object value) =>
{
    var list = new List<string>();
    Thread.Sleep(2000);

    list.Add(strs[i]);
    i++;
    return list;
}, "test");

未经允许不得转载:H5W3 » 请问在循环中动态生成task应当如何传递参数?

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址