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