110,539
社区成员
发帖
与我相关
我的任务
分享
void Main()
{
int groupNum=3; //平均分成3组
var list=Enumerable.Repeat("A",10);
list=list.Concat(Enumerable.Repeat("B",20));
list=list.Concat(Enumerable.Repeat("C",30));
list=list.Concat(Enumerable.Repeat("D",40));
list=list.OrderBy(l=>Guid.NewGuid());
int avgNum=(int)list.Count()/3;
var result=new List<List<string>>();
for(int i=0;i<groupNum;i++)
{
if(i+1==groupNum)
{
result.Add(list.Skip(avgNum*i).ToList());
}
else
{
result.Add(list.Skip(avgNum*i).Take(avgNum).ToList());
}
}
for(int i=0;i<result.Count;i++)
{
Console.WriteLine("第 "+(i+1)+"组: 共计"+result[i].Count+"个");
result[i].ForEach(r=>Console.WriteLine(r));
Console.WriteLine("************");
}
/*
第 1组: 共计33个
C
A
B
D
C
C
B
C
A
C
D
C
B
D
C
C
C
A
D
B
C
D
D
C
B
C
D
D
C
D
B
C
D
************
第 2组: 共计33个
D
B
D
B
C
D
A
C
D
D
C
C
B
C
D
C
C
B
A
C
B
C
D
B
C
B
D
B
A
A
D
D
A
************
第 3组: 共计34个
B
D
A
B
C
D
B
D
C
B
C
C
C
D
B
C
C
C
A
D
A
D
C
D
D
B
D
D
C
B
A
A
B
B
************
*/
}