Diferencia entre revisiones de «Indizadores en C»
(Página creada con ' {{Ficha Software |nombre= Indizadores en C# |familia= |imagen= |tamaño= |descripción= Cómo utilizar los Indizadores en C# |imagen2= |tamaño2= |descripción2= |creador= |de...') |
(Sin diferencias)
|
Revisión del 13:30 3 oct 2011
| ||||||||||||
En este artículo se muestra cómo utilizar los Indizadores en el lenguaje de programación C#.
Características
Los indizadores permiten indizar instancias de una clase o una estructura de la misma manera que 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 sencillos métodos get y set de acceso como medio de asignar y recuperar valores. La clase Program crea una instancia de esta clase para almacenar las cadenas. class SampleCollection<T> {
private T[] arr = new T[100];
public T this[int i]
{
get
{
return arr[i];
}
set
{
arr[i] = value;
}
}
}
// Esta clase muestra como se usan los indexer o indizadores 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 sobre código no seguro
- Los indizadores permiten indizar los objetos de una manera similar a 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.
Fuente
- [Ayuda de Microsoft Visual Studio 2005 MDSN, URL: ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.es/dv_csref/html/022cd27d-d5e0-4cfe-8b97-dc018cc3355d.htm]