Latest web development tutorials

C # indexador (controlador paso a paso)

Indexador (indexador) permite que un objeto como un array puede ser indexado.Cuando se define un indizador para la clase, clase actúa serán como unamatriz virtual (Virtual Array) de la misma.Usted puede utilizar el operador de acceso a conjunto ([]) para acceder a la instancia de la clase.

gramática

Una indexación dimensiones la siguiente sintaxis:

este elemento de tipo [int index] 
{
   // Obtener acceso get 
   {
      // Devuelve el valor del índice especificado}

   // Conjunto de acceso set 
   {
      // Establecer el valor del índice especificado}
}

Paso a paso usos (paso a paso)

Declaración actúa de una manera similar a la propiedad indexador (propiedad). Al igual que la propiedad (propiedad), que se puede utilizar para definir elconjunto de índices y obtenerde acceso. Sin embargo, la propiedad se devuelve o establece un miembro de datos específica, y el índice de devoluciones o establece la instancia del objeto a un valor específico. En otras palabras, es la instancia de datos se divide en partes más pequeñas, y cada parte del índice, acceda o conjunto cada sección.

La definición de un atributo (propiedad) comprende proporcionar nombres de propiedades. Cuando el índice no está definido con el nombre, pero conesta clave, lo que apunta a la instancia del objeto.El siguiente ejemplo ilustra este concepto:

using System;
IndexerApplication espacio de nombres
{
   IndexedNames clase
   {
      private string [] lista de nombres = new string [tamaño];
      estática tamaño public int = 10;
      IndexedNames públicos ()
      {
         for (int i = 0; i <tamaño; i ++)
         lista de nombres [i] = "NA";
      }
      cadena pública esta [int index]
      {
         obtener
         {
            tmp cadena;

            si (índice> = 0 && índice <= tamaño-1)
            {
               tmp = lista de nombres [índice];
            }
            otro
            {
               tmp = "";
            }

            retorno (tmp);
         }
         conjunto
         {
            si (índice> = 0 && índice <= tamaño-1)
            {
               lista de nombres [índice] = valor;
            }
         }
      }

      static void main (String [] args)
      {
         nombres IndexedNames = new IndexedNames ();
         nombres [0] = "Zara";
         nombres [1] = "Riz";
         nombres [2] = "Nuha";
         nombres [3] = "Asif";
         nombres [4] = "Davinder";
         nombres [5] = "Sunil";
         nombres [6] = "Rubik";
         for (int i = 0; i <IndexedNames.size; i ++)
         {
            Console.WriteLine (nombres [i]);
         }
         Console.ReadKey ();
      }
   }
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

Zara
Riz
nuha
Asif
Davinder
Sunil
rubic
NANANA

indexador sobrecargada (controlador paso a paso)

Indexador (indexador) puede estar sobrecargado. Cuando declaración indexador también puede estar provista de una pluralidad de parámetros, y cada parámetro puede ser de diferentes tipos. No hay necesidad de que el índice debe ser un entero. C # permite indexadores pueden ser otros tipos, como el tipo de cadena.

El siguiente ejemplo demuestra indexador sobrecargado:

using System;
IndexerApplication espacio de nombres
{
   IndexedNames clase
   {
      private string [] lista de nombres = new string [tamaño];
      estática tamaño public int = 10;
      IndexedNames públicos ()
      {
         for (int i = 0; i <tamaño; i ++)
         {
          lista de nombres [i] = "NA";
         }
      }
      cadena pública esta [int index]
      {
         obtener
         {
            tmp cadena;

            si (índice> = 0 && índice <= tamaño-1)
            {
               tmp = lista de nombres [índice];
            }
            otro
            {
               tmp = "";
            }

            retorno (tmp);
         }
         conjunto
         {
            si (índice> = 0 && índice <= tamaño-1)
            {
               lista de nombres [índice] = valor;
            }
         }
      }
      int pública esta [nombre de la cadena]
      {
         obtener
         {
            int index = 0;
            mientras que (índice <tamaño)
            {
               si ([índice] == lista de nombres nombre)
               {
                Índice de retorno;
               }
               índice ++;
            }
            Índice de retorno;
         }

      }

      static void main (String [] args)
      {
         nombres IndexedNames = new IndexedNames ();
         nombres [0] = "Zara";
         nombres [1] = "Riz";
         nombres [2] = "Nuha";
         nombres [3] = "Asif";
         nombres [4] = "Davinder";
         nombres [5] = "Sunil";
         nombres [6] = "Rubik";
         // Utilizar el primer parámetro con el int indexador for (int i = 0; i <IndexedNames.size; i ++)
         {
            Console.WriteLine (nombres [i]);
         }
         // Utilizar el segundo paso a paso con un parámetro de cadena Console.WriteLine (nombres [ "Nuha"]);
         Console.ReadKey ();
      }
   }
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

Zara
Riz
nuha
Asif
Davinder
Sunil
rubic
NANANA
2