Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Obektno-orientirovannoe_programmirovanie.doc
Скачиваний:
14
Добавлен:
19.08.2019
Размер:
271.36 Кб
Скачать

30. Пользователькие индексаторы в c#.

Это аналог оператора индекс массива в C и C++. Индексатор обычно используется для тех классов, которые представляют коллекцию объектов. Синтаксис:

num this [тип аргумента]

{get;

set;}

Индексатор м.б. для чтения, для записи и для чтения и для записи. Индексатор не м.б. static. В качестве индекса принято использовать целочисленный тип. Но это не обязательно.

Class IndexClass

{

Private int a = 18;

Private int b = 7;

Public int this [int index]

{

Get

{

Switch (index) {case 1: return a;

case 2: return b;

default: throw new IndexOutOfRahge();}

}

Set {

Switch (index) {case 1: a = value; break;

case 2: b = Value; break;

default: throw new IndexOutOfRange();}

}

}}

IndexClass ic = new IndexClass();

Console.Writeline (ic [1]);

Ic [2] = 13;

Одновременно у класса м.б. любое количество индексаторов. Можно определить индексаторы с несколькими индексаторами.