Добавление к @ code-kings post.
Более того, вызов RollNumberVariable[0]
вызовет поведение индексатора коллекции по умолчанию.Хотя индексаторы на самом деле являются свойствами , вы можете писать собственную логику при извлечении данных.Вы можете легко делегировать большую часть значения параметра индекса во внутреннюю коллекцию, но вы также можете вернуть любое произвольное значение для определенных значений индекса.
Просто пример - вы можете иметь 2+ внутренних коллекции в другом формате, новнешний пользователь будет взаимодействовать с ними через один индексатор (который будет работать как диспетчер), в то время как эта коллекция будет скрыта.Это в значительной степени поощряет принцип инкапсуляции.