Evenly distribute males and females in list with LINQ

Viewed 364

I have Class1 like:

{ 
  string Name, 
  string Sex
}

And I have a List<Class1> with 100 items where 50 are Males and 50 are Females, how do I get 10 groups of 5Males and 5Females each with LINQ?

I already manage to get the list grouped in 10 groups but not distributed evenly by sex.

  var foo = My100List.Select((person, index) => new {person, index})
                       .GroupBy(x => x.index%10)
                       .Select(i => new Group
                            { 
                               Name= "Group" + i.Key, 
                               Persons= i.Select(y => y.person).ToList()
                            }); 

The code above don't distribute by sex.

2 Answers
Related