Indezadores
Los indezadores son una forma cómoda de acceder a una colección de
objetos contenida dentro de una clase a través del uso de la sintaxis de los
arrays. Al igual que las propiedades, permiten acceder a datos contenidos en un
objeto, pero en vez de hacerlo a través de un nombre, lo hacen a través de un
índice. Su forma de utilización también es similar.
// indexador.cs
using System;
class Nota
{
float[] notas;
public Nota(int alumnos)
{
notas =
new float[alumnos];
}
public
float this[int indice]
{
get {
return notas[indice]; }
set {
notas[indice] = value; }
}
public int
Length
{
get {
return notas.Length; }
}
public
float Media
{
get
{
float
suma = 0;
foreach(float nota in notas)
{
suma += nota;
}
return suma / notas.Length;
}
}
static void
Main()
{
Nota n =
new Nota(100);
Random
rand = new Random();
for (int
i = 0; i < n.Length; ++i)
{
n[i] =
5 + rand.Next(6);
Console.Write("{0}, ", n[i]);
}
Console.WriteLine();
Console.WriteLine("La
nota media es: {0}", n.Media);
}
}
DEMOSTRACIÓN
En una aplicación de consola arriba del método Main crearemos una clase denominándola Nota, donde tendrá los siguientes atributos:Fijense que en el atributo "this" contiene un indice, posteriormente colocamos otro atrúbuto denominado Media, el cual nos traerá el resultado de un incremento a través de una suma.