Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- public class SobrecargaIndizador
- {
- private string[] Datos;
- private int TamanioDatos;
- public SobrecargaIndizador (int tamanioDatos)
- {
- TamanioDatos = tamanioDatos;
- Datos = new string[TamanioDatos];
- // se inicializa los elementos del arreglo con la cadena "vacío"
- for (int i = 0; i < TamanioDatos; ++i)
- {
- Datos[i] = "vacío";
- }
- }
- // primer indizador con parämetro de tipo int y valor de retorno string
- public string this[int indice]
- {
- get
- {
- return Datos[indice];
- }
- set
- {
- Datos[indice] = value;
- }
- }
- // segundo indizador con parámetro de tipo string
- public string this[string dato]
- {
- get
- {
- int contador = 0;
- for (int i = 0; i < TamanioDatos; ++i)
- {
- if (Datos[i].Equals(dato))
- {
- ++contador;
- }
- }
- return contador.ToString();
- }
- set
- {
- for (int i = 0; i < TamanioDatos; ++i)
- {
- if (Datos[i].Equals(dato))
- {
- Datos[i] = value;
- }
- }
- }
- }
- public static void Main ()
- {
- int tamanio = 10;
- SobrecargaIndizador si = new SobrecargaIndizador(tamanio);
- // asigna objetos string a través del indizador con parámetro int
- si[9] = "Desarrollador";
- si[3] = "Programador";
- si[5] = "Arquitecto";
- // asiga objeto string a través del indizador con parámetro string
- si["vacio"] = "Analista de Sistemas";
- // Contenido del indizador
- for (int i = 1; i < tamanio; ++i)
- {
- Console.WriteLine ("Datos[{0}]: {1}", i, si[i]);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement