C# → Индексаторы

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

Индексаторы определяются примерно также как и свойства (с использованием get и set). Основное отличие – что в качестве имени индексатора используется ключевое слово this.

Строка public double this[int i] говорит, что мы хотим рассматривать каждый экземпляр класса (структуры) Vector как одномерный массив с int в качестве индекса и что тип возвращаемого значения double.

Пример идексатора в C#:

        public double this[int i]
        {
            get
            {
                switch (i)
                {
                    case 0: return x; // break и не надо
                    case 1: return y; 
                    case 2: return z;
  // вызываем исключение
                    default: throw new IndexOutOfRangeException("Отсуствует эл." + i);
                }
            }
            set
            {
                switch (i)
                {
                    case 0: x = value; break;
                    case 1: y = value; break;
                    case 2: z = value; break;
                    default: throw new IndexOutOfRangeException("Отсуствует эл." + i);
                }
            }
        }

Related: para que sirve la crema nivea en la cara, bolest prs 10 dni pred menstruaciou, branford house wedding cost, morgan fairchild no makeup, dhcr annual rent registration form, in the courts basingstoke september 2020, where are the brown family now 2021, disadvantages of relaxation techniques, gelbvieh charolais cross, graco duet swing replacement parts, timothy hunter obituary, what happened to tom on cutlery corner, derek hough wedding pictures, david gruner actor, chef james avery net worth,