为了账号安全,请及时绑定邮箱和手机立即绑定

任务列表-开始然后等待

任务列表-开始然后等待

C#
jeck猫 2021-05-20 13:38:56
我想用List做第一种方法处理数组的方法。情况是不知道前面有多少个任务。我不想在开始任务之前填写列表,因为要花一些时间来填写列表。public void TaskArray(){    ConcurrentBag<int> cb = new ConcurrentBag<int>();    Task[] taskArray = new Task[10];    for (int i = 0; i < 100; i++)    {        taskArray[i] = Task.Factory.StartNew((Object obj) => {            Console.WriteLine("Task #{0} created at {1} on thread #{2}.",                                i, Thread.CurrentThread.ManagedThreadId);        },                                                i);    }    Task.WaitAll(taskArray);}这有语法错误。无法从system.generic.task.list转换为system.threading.task.taskpublic void TaskList(){    ConcurrentBag<int> cb = new ConcurrentBag<int>();    List<Task> taskArray = new List<Task>;    for (int i = 0; i < 100; i++)    {        taskArray.Add(Task.Factory.StartNew((Object obj) => {            cb.Add(i);            Console.WriteLine("Task #{0} created at {1} on thread #{2}.",                                i, Thread.CurrentThread.ManagedThreadId);        },                                                i));    }    Task.WaitAll(taskArray);}
查看完整描述

1 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

假设taskArrayList<Task>你可能只需要使用:

Task.WaitAll(taskArray.ToArray());


查看完整回答
反对 回复 2021-05-23
  • 1 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信