首页 新闻 赞助 找找看

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

0
悬赏园豆:50 [已解决问题] 解决于 2020-11-20 22:59

如下:
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中呢?

NoZeroWu的主页 NoZeroWu | 初学一级 | 园豆:114
提问于:2020-11-20 22:02
< >
分享
最佳答案
0

直接上代码

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");
收获园豆:50
dudu | 高人七级 |园豆:31075 | 2020-11-20 22:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册