gpt4 book ai didi

C#/LINQ : Trying to optimize performance

转载 作者:行者123 更新时间:2023-11-30 13:18:07 25 4
gpt4 key购买 nike

这是我的设置

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com