c# - groupby - linq count group by
En.NET, ¿es mejor llamar a.Count() o, cuando esté disponible, a.Count? (4)
Cuando se importa el espacio de nombre de Linq, es posible usar tanto .Count () como .Count (en objetos que implementan IList por ejemplo).
.Count () llamará a la propiedad .Count, si está disponible, de acuerdo con: Recuento de C # () Rendimiento del método de extensión
¿Es mejor entonces usar directamente .Conte sobre .Count (), para una ganancia de rendimiento (pequeña)?
Actualización : interesantes cifras de rendimiento aquí (1-2 órdenes de magnitud): ¿es el conteo de Linq () más rápido o más lento que List.Count o Array.Length?
El rendimiento será el mismo, ya que los métodos de extensión Count()
comprueban si se trata de una colección IC y usa la propiedad Count
si lo es (esto es para la pila .net linq).
Referencia: msdn (Observaciones)
Lo más probable es que .Count sea mejor cuando esté disponible. Sin embargo, no se sabe si .Count es una propiedad que se deriva de una función en el momento de la adhesión.
Como .Count probablemente está predeterminado antes de llamarlo, debería ser más eficiente si el anterior no es el caso.
Yo uso .Count cuando no quiero filtrar un conteo, luego uso la Extensión de consulta cuando quiero un recuento filtrado.
Mi preferencia personal es seguir con los métodos y propiedades existentes si están disponibles sin conversión. Por lo tanto, usaría Count
.