Advertisement
Fhernd

SobrecargaIndizador.cs

Nov 14th, 2017
706
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.00 KB | None | 0 0
  1. using System;
  2.  
  3. public class SobrecargaIndizador
  4. {
  5.     private string[] Datos;
  6.     private int TamanioDatos;
  7.    
  8.     public SobrecargaIndizador (int tamanioDatos)
  9.     {
  10.         TamanioDatos = tamanioDatos;
  11.         Datos = new string[TamanioDatos];
  12.        
  13.         // se inicializa los elementos del arreglo con la cadena "vacío"
  14.         for (int i = 0; i < TamanioDatos; ++i)
  15.         {
  16.             Datos[i] = "vacío";
  17.         }
  18.     }
  19.    
  20.     // primer indizador con parämetro de tipo int y valor de retorno string
  21.     public string this[int indice]
  22.     {
  23.         get
  24.         {
  25.             return Datos[indice];
  26.         }
  27.         set
  28.         {
  29.             Datos[indice] = value;
  30.         }
  31.     }
  32.    
  33.     // segundo indizador con parámetro de tipo string
  34.     public string this[string dato]
  35.     {
  36.         get
  37.         {
  38.             int contador = 0;
  39.            
  40.             for (int i = 0; i < TamanioDatos; ++i)
  41.             {
  42.                 if (Datos[i].Equals(dato))
  43.                 {
  44.                     ++contador;
  45.                 }
  46.             }
  47.            
  48.             return contador.ToString();
  49.         }
  50.         set
  51.         {
  52.             for (int i = 0; i < TamanioDatos; ++i)
  53.             {
  54.                 if (Datos[i].Equals(dato))
  55.                 {
  56.                     Datos[i] = value;
  57.                 }
  58.             }
  59.         }
  60.     }
  61.    
  62.     public static void Main ()
  63.     {
  64.         int tamanio = 10;
  65.         SobrecargaIndizador si = new SobrecargaIndizador(tamanio);
  66.        
  67.         // asigna objetos string a través del indizador con parámetro int
  68.         si[9] = "Desarrollador";
  69.         si[3] = "Programador";
  70.         si[5] = "Arquitecto";
  71.        
  72.         // asiga objeto string a través del indizador con parámetro string
  73.         si["vacio"] = "Analista de Sistemas";
  74.        
  75.         // Contenido del indizador
  76.         for (int i = 1; i < tamanio; ++i)
  77.         {
  78.             Console.WriteLine ("Datos[{0}]: {1}", i, si[i]);
  79.         }
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement