Умови дещо взаємозамінні, хоча в деяких ситуаціях я віддаю перевагу одне одному. Зазвичай ви можете отримати найкраще використання, якщо задумаєтесь про те, як би ви описували довжину / розмір / кількість цього елемента усно словесно для іншої людини?
length()
випливає, що елемент має довжину. Рядок має довжину. Ви кажете "рядок довжиною 20 символів", правда? Так вона має довжину.
size()
випливає, що елемент має розмір. Наприклад, файл має розмір. Ви кажете "розмір цього файлу - 2 Мб", правда? Так вона має розмір.
Однак це означає, що рядок також може мати розмір, але я очікую тут ще чогось. Наприклад, рядок UTF-16 може мати довжину 100 символів, але оскільки кожен символ складається з двох байтів, я очікую, що його розмір буде 200.
count()
дуже незвично. Objective-C використовує count для кількості елементів у масиві. Можна заперечити, якщо масив має довжину (як у Java), має розмір (як у більшості інших мов) або має кількість. Однак розмір знову може бути розміром у байтах (якщо елементи масиву 32-бітові int, кожен елемент - 4 байти) та довжиною ... Я б не сказав "масив має 20 елементів", це звучить досить дивно я. Я б сказав, що "масив має 20 елементів". Я не впевнений, що підрахунок виражає це дуже добре, але я думаю, що підрахунок тут є короткою формою, elementCount()
і це знову має набагато більше сенсу для масиву, ніж length () або size ().
Якщо ви створюєте власні об'єкти / елементи мовою програмування, найкраще використовувати будь-які інші подібні елементи, оскільки програмісти використовують для доступу до потрібного властивості за допомогою цього терміна.
List.Capacity
в C # є власність.