在.net中,是调用.count()更好,还是在可用的情况下调用.count ?
本文关键字:count 调用 情况下 net 更好 | 更新日期: 2023-09-27 18:03:03
当导入Linq命名空间时,可以同时使用。count()和。count(例如在实现IList的对象上)。
.Count()将调用。count属性,如果可用,如下所示:c# Count()扩展方法性能
是否直接使用。count优于。count(),以获得(小)性能增益?
Update:这里有趣的性能数据(1-2个数量级):Linq Count()比List快还是慢?Count还是array。length ?
我个人倾向于坚持使用现有的方法和属性,如果它们不需要强制转换的话。因此我使用Count
性能将是相同的,因为Count()
扩展方法检查它是否是ICollection
并使用Count
属性,如果它是(这是为。net linq堆栈)。
参考:msdn(备注)
当我不想过滤计数时我使用。count,然后当我想要过滤计数时使用查询扩展。
最有可能。count在可用时更好。但是,您不知道. count是否是在加入时从函数派生的属性。
由于. count很可能是在调用之前预先确定的,因此如果前面的情况不是这样,则应该更有效。