Indexer (programování) - Indexer (programming)
tento článek možná matoucí nebo nejasné čtenářům. Zejména se jedná o C # nebo obecný koncept OO? Zajímavé je určitě použití klíčového slova „this“, ne to, co je zde zdůrazněno? Proč je celý tento článek získáván pouze pro jeden příspěvek ve fóru C # (druhý příspěvek ve fóru je mrtvý odkaz). Možná by příklad použití třídy příkladu demonstroval účel konstrukce. Wikipedia není příručka, průvodce ani učebnice WP: NIC NE..Dubna 2015) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
v objektově orientované programování, an indexer umožňuje indexovat instance konkrétní třídy nebo struktury stejně jako pole.[1] Je to forma přetížení operátora.
Implementace
Indexery jsou implementovány prostřednictvím get a set přistupující osoby pro operátor[]
. Jsou podobné vlastnosti, ale liší se tím, že nejsou statický a skutečnost, že přistupující osoby indexeru berou parametry. Přístupové objekty get a set se nazývají jako metody pomocí seznamu parametrů deklarace indexeru, ale přístupový objekt set má stále implicitní hodnota
parametr.
Příklad
Tady je C # příklad použití indexeru ve třídě:[2]
třída Naše rodina{ veřejnost Naše rodina(parametry tětiva[] p Členové) { členové rodiny = Nový Seznam<tětiva>(); členové rodiny.AddRange(p Členové); } soukromé Seznam<tětiva> členové rodiny; veřejnost tětiva tento[int index] { // Přístupový objekt get dostat { vrátit se členové rodiny[index]; } // Nastavený přístupový objekt s soubor { členové rodiny[index] = hodnota; } } veřejnost int tento[tětiva val] { // Získání indexu podle hodnoty (první nalezený prvek) dostat { vrátit se členové rodiny.FindIndex(m => m == val); } } veřejnost int Délka => členové rodiny.Počet; }
Příklad použití:
prázdnota Hlavní(){ var doeFamily = Nový Naše rodina("John", "Jane"); pro (int i = 0; i < doeFamily.Délka; i++) { var člen = doeFamily[i]; var index = doeFamily[člen]; // stejně jako i v tomto případě, ale ukazuje to přetížení indexeru, které umožňuje vyhledávat doeFamily podle hodnoty. Řídicí panel.WriteLine($„{member} je číslo člena {index} {nameof (doeFamily)}“); }}
V tomto příkladu se indexer používá k získání hodnoty na n-té pozici a poté k získání pozice v seznamu, na který odkazuje její hodnota. V tomto kódu je výstup:
John je členem číslo 0 doeFamily Jane je členem číslo 1 doeFamily
Viz také
Reference
- ^ jagadish980 (2008-01-29). „C # - Co je indexátor v C #“. http://forums.sureshkumar.net/forum.php: Bulletin: SURESHKUMAR.NET Fóra. Archivovány od originál dne 22. září 2009. Citováno 2011-08-01.
- ^ „Dotazy na rozhovor C #“. http://www.dotnetfunda.com/: .net Funda. Citováno 2011-08-01.
Tento programování související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |