KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I run into this issue again and again: how can I group a list of objects by a containing list of other objects? I have a list of objects of type A and each of these objects has an property (lets call it ListProp ) which is a list also. ListProp has elements of the type B . There are multiple elements of type A with identically B -objects in ListProp , but the ListProp property reference differs from element to element. How can I group these A -objects the fastest way, where the B -objects in ListProp are identically? Sample code: class Program { static void Main(string[] args) { var exampleList = new List<A> { // Should be in first group new A { ListProp = new List<B> { new B { Prop = new C { Number = 0 }}, new B { Prop = new C { Number = 1 }} }}, // Should be in first group new A { ListProp = new List<B> { new B { Prop = new C { Number = 0 }}, new B { Prop = new C { Number = 1 }} }}, // Should be in second group new A { ListProp = new List<B> { new B { Prop = new C { Number = 0 }}, new B { Prop = new C { Number = 1 }}, new B { Prop = new C { Number = 1 }} }}, // Should be in third group new A { ListProp = new List<B> { new B { Prop = new C { Number = 0 }}, new B { Prop = new C { Number = 0 }} }} }; // Doesn't work because the reference of ListProp is always different var groupedExampleList = exampleList.GroupBy(x => x.ListProp); } } class C { public int Number { get; set; }
Tags (comma-separated)
Save Edits
Cancel