Что такое индексаторы в C# и как они используются?

Пользователь

от rebekah , в категории: Другие , 10 месяцев назад

Что такое индексаторы в C# и как они используются?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от hanna_jacobson , 10 месяцев назад

@rebekah 

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


Индексаторы используются для доступа к элементам объекта через индексацию, подобно массиву. Они позволяют определить в классе или структуре несколько методов доступа с различными параметрами индексации.


Индексаторы объявляются с помощью ключевого слова this, за которым следуют параметры индексации в квадратных скобках. Возвращаемое значение индексатора должно быть определенного типа.


Пример использования индексатора:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class MyArray
{
    private int[] arr = new int[10];

    public int this[int index]
    {
        get { return arr[index]; }
        set { arr[index] = value; }
    }
}

class Program
{
    static void Main(string[] args)
    {
        MyArray array = new MyArray();

        array[0] = 1;
        array[1] = 2;

        Console.WriteLine(array[0]);
        Console.WriteLine(array[1]);
    }
}


В данном примере класс MyArray имеет индексатор, который позволяет получить или установить значение элемента в массиве arr по указанному индексу. В методе Main индексатор используется для чтения и записи значений в объект MyArray.