Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
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]); } }
-
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.
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#.