这是我的设置
class EditorTabViewModel : TabViewModel {
...
public bool CanSave { get; set; };
}
ObservableCollection<TabViewModel> _tabs
我想检查
_tabs
中是否有属性为EditorTabViewModel
设置为true的CanSave
选项卡我做了类似...
var tabs = from t in _tabs
where t is EditorTabViewModel
&& ((EditorTabViewModel)t).CanSave == true
select t;
if (tabs.Count() > 0)
return true;
else
return false;
我想知道是否有更好的方法可以做到这一点?也许我不需要检索所有选项卡,或者我只需要查询计数或其他内容?
最佳答案
怎么样:
return _tabs.OfType<EditorTabViewModel>().Any(t => t.CanSave);
这里:
OfType<>
是一个非缓冲过滤器,将我们限制为EditorTabViewModel
Any
短路,因此一旦找到匹配项,则返回true