【发布时间】:2015-11-12 23:09:12
【问题描述】:
public void MethodName(ObservableCollection<DataCollection> dataCollection)
{
if (dataCollection != null)
{
IsChecked = dataCollection.Any(o => o.DataCollectionID.Equals(30));
IsChecked = dataCollection.Where(o => o.DataCollectionID.Equals(30)).Count() > 0;
}
}
谁能解释一下,从以上两种过滤中使用最有效的方法是什么? 。任何?或.Where.Count?
注意:考虑 dataCollection 有超过 10,000 个项目。
请给我建议。谢谢
【问题讨论】:
-
我的建议是自己测试一下。
-
使用
Any,只要满足条件,方法就会终止。对于Count,它必须一直走到最后。这确实是您应该通过一些研究就能找到的东西。 -
over 10,000 items这并不多。对我来说听起来像是微优化。这甚至是你的瓶颈吗?你的简介说什么?如果您只想为此进行微优化,请一起跳过 LINQ。或者至少只是 PLINQ。
标签: c# linq extension-methods generic-collections