2009-07-29 8 views
9

Duplicar posible:
count vs length vs size in a collectionEn C# .NET, ¿cuál es el motivo de array.Length vs. list.Count?

estoy pasando por alto una diferencia semántica entre "longitud" y "Count", o en qué quizás algún detalle de implementación en .NET Framework requieren diferentes nombres para estos similares ¿conceptos? Dada la gran atención que se le dio a los nombres y todo lo demás en el marco, hay debe ser ser una buena explicación.

+0

Este es un duplicado de [http://stackoverflow.com/questions/300522/count-vs-length-vs-size-in-a-collection/300540](http://stackoverflow.com/questions/ 300522/count-vs-length-vs-size-in-a-collection/300540) (Puede encontrar una buena respuesta allí, incluidas otras variaciones también) – Alex

+0

@Alex Desafortunadamente, el "duplicado" no está sujeto a C# - en .NET BCL alguna vez te preguntaste cuándo usarlo, ya que lo arruinaron. – mbx

Respuesta

10

Actualmente, estos conceptos son similares pero no idénticos. Como la longitud de una matriz es estática y su memoria se asigna de una vez por todas (int [] intarray = new int [10]; // asigna la memoria a 10 ints), la propiedad Length es bastante estática. De lo contrario, los Enumerables como una Lista podrían no conocer su Longitud de antemano, por lo que el Conteo de Propiedades de alguna manera "contará" la longitud (puede iterar a través de todos los elementos asociados en un enumerable). Esa es la diferencia básica.

Cuestiones relacionadas