~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 838106ECD69E3B709CE055F3513C77A6__1675686300 ✰
Заголовок документа оригинал.:
✰ Indexer (programming) - Wikipedia ✰
Заголовок документа перевод.:
✰ Индексатор (программирование) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Indexer_(programming) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/83/a6/838106ecd69e3b709ce055f3513c77a6.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/83/a6/838106ecd69e3b709ce055f3513c77a6__translat.html ✰
Дата и время сохранения документа:
✰ 11.06.2024 06:17:47 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 6 February 2023, at 15:25 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Индексатор (программирование) — Википедия Jump to content

Индексатор (программирование)

Из Википедии, бесплатной энциклопедии

В объектно-ориентированном программировании индексатор . позволяет индексировать экземпляры определенного класса или структуры так же, как массивы [1] Это форма перегрузки операторов .

Реализация [ править ]

Индексаторы реализуются через методы доступа get и set для operator[]. Они похожи на свойства , но отличаются тем, что не являются статическими и тем, что методы доступа индексаторов принимают параметры. Методы доступа get и set вызываются как методы с использованием списка параметров объявления индексатора, но метод доступа set по-прежнему имеет неявный value параметр.

Пример [ править ]

Вот пример C# использования индексатора в классе: [2]

класс   Family 
 { 
     частный   список  <  строка  >   _familyMembers   =   новый   список  <  строка  >  (); 

	  public   Family  (  params   string  []   members  ) 
	 { 
	     _familyMembers  .   AddRange  (  члены  ); 
	  } 

	 public   string   this  [  int   index  ] 
	 { 
		 // Метод доступа 
		 get get   =>   _familyMembers  [  index  ]; 

		  // Метод доступа set с 
		 set   =>   _familyMembers  [  index  ]   =   value  ; 
	  } 

	 public   int   this  [  string   val  ] 
	 { 
		 // Получение индекса по значению (первый найденный элемент) 
		 get   =>   _familyMembers  .   FindIndex  (  m   =>   m   ==   val  ); 
	  } 

	 Public   int   Длина   =>   _familyMembers  .   Считать  ; 
  } 

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

void   Main  () 
 { 
     var   doeFamily   =   новая   семья  (  «Джон»  ,   «Джейн»  ); 
      для   (  int   я   =   0  ;   я   <   doeFamily  .  Длина  ;   я  ++  ) 
     { 
         вар   член   =   doeFamily  [  я  ]; 
         вар    индекс   =   doeFamily  [  член  ];    // то же, что и i в этом случае, но демонстрирует перегрузку индексатора, позволяющую осуществлять поиск doeFamily по значению. 
          Консоль  .   WriteLine  (  $"{member} — номер члена {индекс} {nameof(doeFamily)}"  ); 
      } 
 } 

В этом примере индексатор используется для получения значения в n-й позиции, а затем для получения позиции в списке, на которую ссылается его значение. Вывод кода:

Джон является членом doeFamily под номером 0.
 Джейн — член номер 1 семьи doeFamily.
 

См. также [ править ]

Ссылки [ править ]

  1. ^ jagadish980 (29 января 2008 г.). «C# — Что такое индексатор в C#» . ФОРУМЫ SURESHKUMAR.NET . Архивировано из оригинала 22 сентября 2009 года . Проверено 1 августа 2011 г. {{cite web}}: CS1 maint: числовые имена: список авторов ( ссылка )
  2. ^ «Вопросы для собеседования по C#» . .net Фунда . Проверено 1 августа 2011 г.


Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 838106ECD69E3B709CE055F3513C77A6__1675686300
URL1:https://en.wikipedia.org/wiki/Indexer_(programming)
Заголовок, (Title) документа по адресу, URL1:
Indexer (programming) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)