Indizadores (Guía de programación de C#)
Actualización: noviembre 2007
Los indizadores permiten indizar las instancias de una clase o estructura igual que como se hace con las matrices. Son similares a las propiedades, con la diferencia de que los descriptores de acceso utilizan parámetros.
En el ejemplo siguiente, se define una clase genérica y se proporcionan métodos de acceso get y set sencillos como medio de asignar y recuperar valores. La clase Program crea una instancia de esta clase para almacenar cadenas.
class SampleCollection<T>
{
private T[] arr = new T[100];
public T this[int i]
{
get
{
return arr[i];
}
set
{
arr[i] = value;
}
}
}
// This class shows how client code uses the indexer
class Program
{
static void Main(string[] args)
{
SampleCollection<string> stringCollection = new SampleCollection<string>();
stringCollection[0] = "Hello, World";
System.Console.WriteLine(stringCollection[0]);
}
}
Información general de los indizadores
Los indizadores permiten indizar objetos de manera similar a como se hace con las matrices.
Un descriptor de acceso get devuelve un valor. Un descriptor de acceso set asigna un valor.
La palabra clave this se utiliza para definir indizadores.
La palabra clave value se utiliza para definir el valor asignado por el indizador set.
Los indizadores no tienen que ser indizados por un valor entero; depende de usted que defina el mecanismo de búsqueda concreto.
Se pueden sobrecargar los indizadores.
Los indizadores pueden tener más de un parámetro formal, por ejemplo, al tener acceso a una matriz bidimensional.
Secciones relacionadas
Comparación entre propiedades e indizadores (Guía de programación de C#)
Accesibilidad del descriptor de acceso asimétrico (Guía de programación de C#)
Especificación del lenguaje C#
Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#.
1.6.7.3 Indizadores
10.2.9.3 Nombres de miembros reservados para indizadores
10,9 Indizadores
13.2.4 Indizadores de interfaz