Joh*_*ley 27 .net c# wpf collectionview
我有一个ListCollectionView已应用过滤器的过滤器.为了从列表中获取过滤的项目(例如,写入文件),是否有一种干净的方法.
我目前的解决方案是
var filteredItems = originalCollection.Where(i => view.Filter(i));
Run Code Online (Sandbox Code Playgroud)
在代码中我也检查了null originalCollection和view.Filter.
这样做有更干净的方法吗?
Tho*_*que 44
该GetEnumerator方法考虑了过滤器,因此您可以foreach在视图上方:
ICollectionView view = ...
view.Filter = ...
foreach(Foo o in view)
{
...
}
Run Code Online (Sandbox Code Playgroud)
(假设原始集合中的对象属于类型Foo).
您还可以使用Cast扩展方法:
var filteredItems = view.Cast<Foo>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14484 次 |
| 最近记录: |