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
	}
}
u7x9cc0

Navigointi

Social Media