Классы: индексаторы

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

class Clients {
  private sting[] names = new string[10];

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

Теперь, когда мы объявили объект Clients, мы используем индекс для обращения к определенным объектам, типа элементов массива:

Clients c = new Clients();
c[0] = "David";
c[1] = "Zineddin";

Console.WriteLine(c[1]);
// Outouts "Zineddin"

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