这是我的设置
class EditorTabViewModel : TabViewModel {
...
public bool CanSave { get; set; };
}
ObservableCollection<TabViewModel> _tabs
我想检查 _tabs
中是否有任何标签 EditorTabViewModel
属性 CanSave
设置为 true
我做了类似...
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
是短路的,所以一旦找到匹配就返回真
关于C#/LINQ : Trying to optimize performance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3967449/