关于C#:在.NET中,调用.count()还是在可用时调用.count?

In .NET, is it better to call .Count() or, when available, .Count?

导入Linq命名空间时,可以同时使用.Count()和.Count(例如,在实现IList的对象上)。

.count()将调用.count属性(如果可用),方法如下:c count()扩展方法性能

直接使用.count over.count()获得(小)性能提升是否更好?

更新:有趣的性能数据(1-2个数量级):linq count()比list.count或array.length快还是慢?


我个人的偏好是坚持现有的方法和属性,如果它们是没有铸造可用。所以我会用Count


性能相同,因为Count()扩展方法检查它是否为ICollection并使用Count属性(如果为.NET LINQ堆栈)。

参考:msdn(备注)


最有可能。有了它,计数就更好了。但是,您不知道.count是否是在加入时从函数派生的属性。

因为.count很可能是在调用它之前预先确定的,所以如果前面的情况不是这样的话,它应该更有效。


当我不想过滤一个计数时,我使用.count;当我确实想过滤一个计数时,使用查询扩展。