I have an IEnumerable<MyObject> collection, with N MyObject elements.
MyObject is a class with a Title, a Description and an ID (as string).
I’d like to have my collection with distinct list of MyObject, due to the ID field.
So if 2 MyObject have got the same ID, one should be deleted (don’t care which, I need unique ID).
How can I do it with LINQ?
Tried :
myList = myList.GroupBy(o => o.ID);
but seems I need a cast?
You can implement a custom
IEqualityComparer<MyObject>. Then you can useEnumerable.Distinctto filter out duplicates.Now it’s simple:
Or you can use
Enumerable.GroupBywhat is even simpler: