Los términos son algo intercambiables, aunque en algunas situaciones preferiría uno sobre otro. Por lo general, puede obtener el mejor uso si piensa en ¿Cómo describiría la longitud / tamaño / recuento de este elemento verbalmente a otra persona?
length()
implica que el elemento tiene una longitud. Una cadena tiene una longitud. Dices "una cadena tiene 20 caracteres", ¿verdad? Entonces tiene una longitud.
size()
implica que el elemento tiene un tamaño. Por ejemplo, un archivo tiene un tamaño. Dices "este archivo tiene un tamaño de 2 MB", ¿verdad? Entonces tiene un tamaño.
Dicho esto, una cadena también puede tener un tamaño, pero esperaría algo más aquí. Por ejemplo, una cadena UTF-16 puede tener una longitud de 100 caracteres, pero como cada carácter está compuesto por dos bytes, esperaría que el tamaño sea 200.
count()
Es muy inusual. Objective-C usa el recuento para la cantidad de elementos en una matriz. Se podría argumentar si una matriz tiene una longitud (como en Java), tiene un tamaño (como en la mayoría de los otros idiomas) o tiene un conteo. Sin embargo, el tamaño podría ser nuevamente el tamaño en byte (si los elementos de la matriz son de 32 bits int, cada elemento es de 4 bytes) y la longitud ... No diría "una matriz tiene 20 elementos de largo", eso suena bastante extraño para yo. Yo diría que "una matriz tiene 20 elementos". No estoy seguro si count lo expresa muy bien, pero creo que count es aquí una forma abreviada de elementCount()
y eso nuevamente tiene mucho más sentido para una matriz que length () o size ().
Si crea objetos / elementos propios en un lenguaje de programación, es mejor usar cualquier otro elemento similar, ya que los programadores están acostumbrados a acceder a la propiedad deseada usando ese término.
List.Capacity
propiedades en C #.