List<string> list = new List<string>() {"a", "b", "c"};
IEnumerable<string> enumerable = list;
int c1 = list.Count;
int c2 = list.Count();
int c3 = enumerable.Count();
diferencias en el rendimiento y la aplicación entre estos últimos 3 afirmaciones? ¿Ocurrirá list.Count()
peor o lo mismo que list.Count
, y qué importa si la referencia es del tipo IEnumerable<string>
?no ¿Hay alguna diferencia entre el conde() (extensión LINQ) y Lista <T> .Count
Si IEnumerable es una colección IC (como una Lista), por lo tanto, tiene la propiedad .Count, entonces Linq utiliza esto como un acceso directo cuando utiliza el método .Count(). Esto significa que cualquiera que uses realmente no importa. – Dolbz
Esto está mal. Count() está codificado para que solo se repita para contar si el elemento al que está llamando Count() no implementa ICollection. –