I have a ListCollectionView which has had a filter applied to it. In order to get the filtered items from the list (e.g. to write to a file), is there a clean way of doing it.
My current solution is
var filteredItems = originalCollection.Where(i => view.Filter(i)); In the code I do check for nulls on originalCollection and view.Filter.
Is there a cleaner way of doing this?
The GetEnumerator method takes the filter into account, so you can just foreach over the view:
ICollectionView view = ... view.Filter = ... foreach(Foo o in view) { ... } (assuming the objects in the original collection are of type Foo).
You can also use the Cast extension method:
var filteredItems = view.Cast<Foo>();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With