Индексатор

Автор: Randy Alexander
Дата создания: 1 Апрель 2021
Дата обновления: 26 Июнь 2024
Anonim
27  Что такое индексатор в C#
Видео: 27 Что такое индексатор в C#

Содержание

Определение - что означает индексатор?

Индексатор в C # - это член класса, используемый для предоставления возможностей индексации в виде массива для легкого доступа к свойствам объекта. Индексатор в основном используется, когда массив инкапсулирован в тип.

Простой синтаксис индексатора помогает клиентским приложениям получать доступ к группам элементов как элементу массива (типу, классу или структуре). Индексатор обеспечивает косвенный метод вставки логики проверки границ. Благодаря своей интуитивной природе индексатор улучшает читаемость кода.

Индексатор часто используется для реализации стека, так что к его содержимому можно обращаться без удаления элемента. Реализация индексатора Java похожа на C #. Как правило, индексаторы могут использоваться в библиотечном коде из-за их простоты использования и гибкости.

Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.

Техопедия объясняет Индексатор

Хотя индексаторы похожи на свойства, они используют разные параметры. Свойства идентифицируются по имени, а индексаторы - по подписи и использованию ключевого слова «это». Свойства могут быть доступны через члены, но индексаторы доступны через элементы. В отличие от свойств, компилятор C # не позволяет использовать статический индексатор.

Индексатор удобен тем, что его экземпляры класса и структуры индексируются как массивы и используют скобочную запись для доступа к элементу. Индексаторы известны как интеллектуальные массивы. Средства доступа - это компоненты индексации get и set, которые позволяют получать и устанавливать значения соответственно. На основе типа члена, необходимого для поиска, индексатор объявляется с соответствующей подписью. Ключевое слово «this» используется для определения индексаторов, а «Value» используется для назначения доступа.

Тип и параметры индексатора должны быть такими же доступными, как и сам индексатор. Количество и типы формальных аргументов известны по сигнатуре индексаторов, но не по именам типов или аргументов. Тип возвращаемого значения должен быть допустимым типом C #. Индексатор должен иметь хотя бы один параметр.

Индексаторы классов могут быть перегружены и иметь разные подписи. Поскольку индексаторы не считаются переменными, их нельзя использовать в качестве параметров ref или out. В кросс-языке используется имя по умолчанию Item, если оно не указано в объявлении. Средства доступа, реализованные с помощью индексаторов, могут быть перегружены несколькими типами. Индексаторы позволяют передавать более одного формального параметра, например, при доступе к двумерному массиву. Абстрактные индексаторы реализуются путем простого объявления методов доступа get / set в базовом классе и добавления кода производного класса.

Хотя индексаторы также используются в интерфейсах, объявления классов отличаются. Средства доступа индексатора интерфейса не используют модификаторы и не имеют тела. Индексаторы также используются в интерфейсах, чтобы указывать, доступны ли они только для чтения, только для записи или для чтения и записи. В соответствии с рекомендациями по проектированию реализация правильной стратегии обработки ошибок имеет решающее значение при использовании методов доступа get и set в дополнение к предоставлению необходимой документации об исключениях ошибок для индексаторов.Рекомендуется ограничить доступ до требуемого уровня, чтобы избежать вредоносного набора значений. Это определение было написано в кон C #