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