It was my understanding and I think others that you should never call LINQ’s Count() extension method on a List because it doesn’t use List’s Count property, resulting in a performance of O(N) instead of O(1).
That’s wrong. LINQ checks if the type is of ICollection, which has the Count property, and returns it if so.