·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> 平均分配

平均分配

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23
        public void DisTaskTest()
        {
            List<DisTask> task = new List<DisTask>()
            {
                new DisTask{Name="其它3"},
                new DisTask{Name="其它1"},
                new DisTask{Name="其它2"},
                new DisTask{Name="其它4"},
                new DisTask{Name="其它5"},
                new DisTask{Name="其它6"},
                new DisTask{Name="其它7"},
                new DisTask{Name="其它8"},
                new DisTask{Name="其它9"},
                new DisTask{Name="其它10"},
                new DisTask{Name="其它11"}
            };
            int[] ids = {1,2,3};          
            int eachTotal = task.Count/ids.Length;
            int remainder = task.Count%ids.Length;
            int current = 0;
            for (int i = 0; i < ids.Length; i++)
            {
                for (int j = 0; j < eachTotal; j++)
                {
                    if (current == eachTotal*(i + 1))
                    {
                        break;
                    }
                    task[current].Id = ids[i];
                    current++;
                }
            }
            
            Random rand = new Random();
            for (int i = 0; i < remainder; i++)
            {  
                int d = rand.Next(0, ids.Length);
                task[eachTotal * ids.Length + i].Id = ids[d];
            }
            Console.WriteLine(remainder);
            foreach (var i in task)
            {
                Console.WriteLine(i.Id+","+i.Name);
            }

        }

        public class DisTask
        {
            public int Id { get; set; }
            public string Name { get; set; }
        }