C#中可观察集合中Count和Count()的区别是什么?

时间:2011-10-05 07:26:56

标签: c# silverlight

C#中可观察集合中Count和Count()的区别是什么? 我已经注意到Visual Studio中的ObservableCollection类的类型我可以选择“.Count;”或“.Count();”。有什么不同?我想,不知道这会让人陷入困境。

3 个答案:

答案 0 :(得分:5)

Count()是LINQ扩展。 Count是从Collection<T>继承的属性。 Count()扩展程序的实现将知道您的对象正在实现ICollection<T>,因此只返回属性的结果。您可以使用任何一种,使用该属性的性能优势基本上不存在。

答案 1 :(得分:2)

这并不重要,但Count()可用于更多类型。

并非所有集合类型都具有Count属性。例如,IEnumerable没有。 LINQ方法Count() 对所有这些集合类型起作用,可以使用Count属性,也可以循环遍历集合来计算元素。

答案 2 :(得分:0)

Count是一个ObservableCollection属性,Count()是来自linq的扩展方法。