这是我的设置

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

10-08 14:22