Indizadores (Guía de programación de C#)
Los indizadores permiten indizar las instancias de una clase o struct 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>
{
// Declare an array to store the data elements.
private T[] arr = new T[100];
// Define the indexer, which will allow client code
// to use [] notation on the class instance itself.
// (See line 2 of code in Main below.)
public T this[int i]
{
get
{
// This indexer is very simple, and just returns or sets
// the corresponding element from the internal array.
return arr[i];
}
set
{
arr[i] = value;
}
}
}
// This class shows how client code uses the indexer.
class Program
{
static void Main(string[] args)
{
// Declare an instance of the SampleCollection type.
SampleCollection<string> stringCollection = new SampleCollection<string>();
// Use [] notation on the type.
stringCollection[0] = "Hello, World";
System.Console.WriteLine(stringCollection[0]);
}
}
// Output:
// Hello, World.
[!NOTA]
Para obtener más ejemplos, vea Secciones relacionadas.
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#)
Restringir la accesibilidad del descriptor de acceso (Guía de programación de C#)
Especificación del lenguaje C#
Para obtener más información, vea la Especificación del lenguaje C#. La especificación del lenguaje es la fuente definitiva de la sintaxis y el uso de C#.
Vea también
Referencia
Propiedades (Guía de programación de C#)