I termini sono in qualche modo intercambiabili, sebbene in alcune situazioni preferirei l'uno all'altro. Di solito puoi ottenere il miglior utilizzo se pensi a Come descriveresti verbalmente la lunghezza / dimensione / conteggio di questo elemento ad un'altra persona?
length()
implica che l'elemento ha una lunghezza. Una stringa ha una lunghezza. Dici "una stringa è lunga 20 caratteri", giusto? Quindi ha una lunghezza.
size()
implica che l'elemento ha una dimensione. Ad esempio un file ha una dimensione. Dici "questo file ha una dimensione di 2 MB", giusto? Quindi ha una dimensione.
Detto questo, una stringa può anche avere una dimensione, ma mi aspetterei qualcos'altro qui. Ad esempio una stringa UTF-16 può avere una lunghezza di 100 caratteri, ma poiché ogni carattere è composto da due byte, mi aspetto che la dimensione sia 200.
count()
è molto insolito. Objective-C utilizza count per il numero di elementi in un array. Si potrebbe obiettare se un array ha una lunghezza (come in Java), ha una dimensione (come nella maggior parte delle altre lingue) o ha un conteggio. Tuttavia, la dimensione potrebbe essere di nuovo la dimensione in byte (se gli elementi dell'array sono a 32 bit int, ogni elemento è 4 byte) e la lunghezza ... Non direi "un array è lungo 20 elementi", che suona piuttosto strano a me. Direi "un array ha 20 elementi". Non sono sicuro che il conteggio lo esprima molto bene, ma penso che contare sia qui una forma abbreviata elementCount()
e che di nuovo ha molto più senso per un array di lunghezza () o dimensione ().
Se si creano oggetti / elementi propri in un linguaggio di programmazione, è meglio usare qualunque altro elemento simile, poiché i programmatori sono abituati ad accedere alla proprietà desiderata usando quel termine.
List.Capacity
proprietà in C #.