I have a list of objects, IList<O>.
O has several properties but only two of them are relevant: Date and Duration.
I want to “split” the list into several lists that contain only the objects that have matching Date and Duration Properties.
Example:
0- Date==1, Duration==7 1- Date==1, Duration==7 2- Date==2, Duration==7 3- Date==2, Duration==7 4- Date==2, Duration==14 5- Date==2, Duration==14
Desired result (IList<IList<O>>):
0- 0- Date==1, Duration==7 1- Date==1, Duration==7 1- 0- Date==2, Duration==7 1- Date==2, Duration==7 2- 0- Date==2, Duration==14 1- Date==2, Duration==14
I know this can be done with some LINQ selects but am not sure how.
You can use the following:
This creates an anonymous class with the properties that you want to group by. It then expands the
IGroupingto aListof the original type. The query is then run to produce the outerList.