Filter Linq EXCEPT on properties
c#, linq
Solution
Try a simple where query
var filtered = unfilteredApps.Where(i => !excludedAppIds.Contains(i.Id));
The except method uses equality, your lists contain objects of different types, so none of the items they contain will be equal!
Problem
This may seem silly, but all the examples I've found for using `Except` in linq use two lists or arrays of only strings or integers and filters them based on the matches, for example: ``` var excludes = users.Except(matches); ``` I want to use exclude to keep my code short and simple, but can't seem to find out how to do the following: ``` class AppMeta { public int Id { get; set; } } var excludedAppIds = new List<int> {2, 3, 5, 6}; var unfilteredApps = new List<AppMeta> { new AppMeta {Id = 1}, new AppMeta {Id = 2}, new AppMeta {Id = 3}, new AppMeta {Id = 4}, new AppMeta {Id = 5} } ``` How do I get a list of `AppMeta` back that filters on `excludedAppIds`?