首页 > 解决方案 > 如何创建 x 数量的任务,例如 list.Count 的依赖?

问题描述

这只是我的代码的一个测试部分:

var task1 = Task.Run(() =>
            {
                guns_data[0].Fire(pairs[0, 0], pairs[0, 1]);
            }); 
var task2 = Task.Run(() =>
        {
            guns_data[1].Fire(pairs[0, 1], pairs[0, 0]);
        }); 

  1. 我想创建 x amout 这个task1,task2 ....taskx。
  2. 之后我必须等待所有这些任务。

我知道这不是正确的索引,因为它只是一个测试部分。我是一个初学者程序员。


你能帮我举个例子或其他方式吗?

标签: c#multithreadingclasstaskconsole-application

解决方案


你需要做这样的事情:

Task[] tasks =
    guns_data
        .Select(gd => Task.Run(() => gd.Fire(pairs[0, 0], pairs[0, 1])))
        .ToArray();
        
Task.WaitAll(tasks);

我不知道如何获得pairs正确的索引,因为您没有在问题中指定。不过,这应该会有所帮助。


推荐阅读