Articulo de referencia

Indexador (programación)

En la programación orientada a objetos , un indexador permite que las instancias de una clase o estructura particular se indexen como si fueran matrices. [1] Es una forma de sob...

En la programación orientada a objetos , un indexador permite que las instancias de una clase o estructura particular se indexen como si fueran matrices. [1] Es una forma de sobrecarga de operadores .

Implementación

Los indexadores se implementan a través de los métodos de acceso get y set para . Son similares a las propiedades , pero se diferencian en que no son estáticos y en el hecho de que los métodos de acceso de los indexadores toman parámetros. Los métodos de acceso get y set se llaman como métodos utilizando la lista de parámetros de la declaración del indexador, pero el método de acceso set aún tiene el parámetro implícito. operator[]value

Ejemplo

A continuación se muestra un ejemplo en C# del uso de un indexador en una clase: [2]

clase Familia { Lista privada < cadena > _familyMembers = nueva Lista < cadena > (); 

         

	público Familia ( params string [ ] miembros ) { _familyMembers.AddRange ( miembros ) ; }   
	
	    
	

	public string this [ int index ] { // El descriptor de acceso get => _familyMembers [ index ];   
	
		
		  

		// El descriptor de acceso al conjunto con 
set => _familyMembers [ index ] = value ; }		    
	

	public int this [ string val ] { // Obtener el índice por valor (primer elemento encontrado) get => _familyMembers . FindIndex ( m => m == val ); }   
	
		
		      
	

	public int Longitud => _familyMembers . Conteo ; }    

Ejemplo de uso:

void Main () { var doeFamily = new Family ( "John" , "Jane" ); for ( int i = 0 ; i < doeFamily . Length ; i ++ ) { var member = doeFamily [ i ]; var index = doeFamily [ member ]; // lo mismo que i en este caso, pero demuestra la sobrecarga del indexador que permite buscar doeFamily por valor. Console . WriteLine ( $"{member} es el número de miembro {index} de {nameof(doeFamily)}" ); } } 

         
            
    
           
            
        
    

En este ejemplo, el indexador se utiliza para obtener el valor en la posición n y, a continuación, para obtener la posición en la lista a la que hace referencia su valor. El resultado del código es:

John es el miembro número 0 de la familia doe.
Jane es el miembro número 1 de la familia doe.

Véase también

Referencias

  1. ^ jagadish980 (29 de enero de 2008). "C#: ¿Qué es un indexador en C#?". FOROS DE SURESHKUMAR.NET . Archivado desde el original el 22 de septiembre de 2009. Consultado el 1 de agosto de 2011 .{{cite web}}: CS1 maint: numeric names: authors list (link)
  2. ^ "Preguntas de entrevista de C#". .net Funda . Consultado el 1 de agosto de 2011 .


Retrieved from "https://en.wikipedia.org/w/index.php?title=Indexer_(programming)&oldid=1137806945"