This question is similar to the LINQ group on one type of item , but handled in a more general way.
I have a list that has various derived classes. I might have something like this:
List<BaseClass> list = new List<BaseClass>() {
new Class1(1),
new Class2(1),
new Class1(2),
new Class3(1),
new Class2(2),
new Class4(1),
new Class3(2)
};
I'm trying to use LINQ to parse a list so that the natural order is maintained by EXCEPT for certain classes that have base.GroupThisType == true. All classes with GroupThisType should be grouped where the first class of the same type occurs. Here's what the output should look like:
List<BaseClass> list = new List<BaseClass>() {
new Class1(1),
new Class1(2),
new Class2(1),
new Class3(1),
new Class3(2)
new Class2(2),
new Class4(1),
};
Edit: Oh, forgot to say that this result assumes (Class1 and Class3) .GroupThisType == true
source
share