Indeksereillä saadaan luokka näyttämään taulukolta, jolloin siihen päästään käsiksi [ ] -operaattorilla. Indekserit määritellään this-avainsanalla. Hakasulkujen sisään annetaan argumentit. Muuten määrittely muistuttaa ominaisuuksien määrittelyä get- ja set -aksessoreineen.
class OmaLuokka
{
private int[] numerot = new int[10];
// indekseri
public int this[int index]
{
get
{
return numerot[index];
}
set
{
numerot[index] = value;
}
}
}
OmaLuokka oma = new OmaLuokka();
Random r = new Random();
for (int i = 0; i < 10; i++)
{
oma[i] = r.Next();
}
for (int i = 0; i < 10; i++)
{
Console.WriteLine(oma[i]);
}
Hakusulkujen sisään voi antaa useita argumentteja ja ne voivat olla muutakin tyyppiä kuin int taulukoista poiketen.
public int this[string nimi, int index]
{
get
{
// palauta arvo
}
set
{
// aseta arvo
}
}