Термины несколько взаимозаменяемы, хотя в некоторых ситуациях я бы предпочел одно другому. Обычно вы можете получить лучшее использование, если вы думаете о Как бы вы описали длину / размер / количество этого элемента в устной форме другому человеку? .
length()
означает, что элемент имеет длину. Строка имеет длину. Вы говорите "строка длиной 20 символов", верно? Так что он имеет длину.
size()
означает, что элемент имеет размер. Например. файл имеет размер. Вы говорите "этот файл имеет размер 2 МБ", верно? Таким образом, он имеет размер.
Тем не менее, строка также может иметь размер, но я бы ожидал чего-то другого здесь. Например. строка UTF-16 может иметь длину 100 символов, но, поскольку каждый символ состоит из двух байтов, я ожидаю, что размер будет 200.
count()
очень необычно. Objective-C использует счетчик для количества элементов в массиве. Можно спорить, если массив имеет длину (как в Java), имеет размер (как в большинстве других языков) или имеет счетчик. Тем не менее, размер может снова быть размером в байтах (если элементы массива 32-битные int, каждый элемент имеет 4 байта) и длиной ... Я бы не сказал, что «массив состоит из 20 элементов», что звучит довольно странно мне. Я бы сказал, что «массив состоит из 20 элементов». Я не уверен, выражает ли count это очень хорошо, но я думаю, что здесь это краткая форма для elementCount()
, и это опять же имеет гораздо больший смысл для массива, чем length () или size ().
Если вы создаете собственные объекты / элементы на языке программирования, лучше использовать любые другие подобные элементы, поскольку программисты привыкли получать доступ к желаемому свойству с помощью этого термина.