C# 在员工之间平均分配任务

C# 在员工之间平均分配任务,c#,algorithm,C#,Algorithm,假设我有四名员工和十二项任务,比如a、b、c、d、e、f、g、h、I、j、k、l 第一个员工1、2、3、4应该有a、b、c、d,完成所有员工后,应该从第一个员工(e、f、g、h)开始 在某些情况下,如果任务在员工2完成,当新任务到达时,分配应从员工3开始,以此类推 在下面的代码中,我为上次分配的员工获取变量,并从数据库中获取员工计数和任务计数,将任务分配给员工,检查任务的唯一性并保存到数据库 我试过的代码: int j = 0, LastAssignedEmployee =0;

假设我有四名员工和十二项任务,比如a、b、c、d、e、f、g、h、I、j、k、l

第一个员工1、2、3、4应该有a、b、c、d,完成所有员工后,应该从第一个员工(e、f、g、h)开始

在某些情况下,如果任务在员工2完成,当新任务到达时,分配应从员工3开始,以此类推

在下面的代码中,我为上次分配的员工获取变量,并从数据库中获取员工计数和任务计数,将任务分配给员工,检查任务的唯一性并保存到数据库

我试过的代码:

    int j = 0, LastAssignedEmployee =0;
         var Employees = dbcontext.Employees.Select(m => m.ID).toList();
         var Tasks = dbcontext.Tasks.toList();
         for (int i = 0; i < Tasks.Count(); i++)
         {
             if (i == Employees.Count()-1)
             {
                 j = 0;
             }
             if (i == Tasks.Count()-1)
             {
                 LastAssignedEmployee = Employees[j];
             }
             Tasks Task = dbcontext.Tasks.Find(Tasks.ID);
             Task.EmpID = Employees[j];
             dbcontext.SaveChanges();
         }
int j=0,最后分配的员工=0;
var Employees=dbcontext.Employees.Select(m=>m.ID.toList();
var Tasks=dbcontext.Tasks.toList();
对于(int i=0;i
但是我想让它更加标准化和自动化,是循环算法适合这个问题,还是任何适合这个方法的算法


谁能帮我干杯。

看起来你的应用程序使用的是数据库后端。如果是这样,SQL查询(在存储过程中)可以更有效地执行此分配过程。SQL非常适合处理集合。使用模来计算员工索引。