Domitienda. Hosting ASP .NET 3.5 / SQL SERVER 2005
  buscar 
novedades
Recibe las ultimas noticias y los mejores articulos en tu email
Secciones
 • .NET Framework
 • ADO .NET
 • Ajax
 • Asp .NET
 • Biztalk
 • C#
 • Commerce Server
 • Exchange
 • IIS
 • Metodologías
 • J#
 • Office
 • Reporting Services
 • Seguridad
 • SEO
 • Servicios Web
 • Sharepoint
 • Silverlight
 • SQL Server
 • Visual Basic .NET
 • Visual C++ .NET
 • Visual Studio
 • WCF
 • Windows
 • Workflow Foundation
 • WPF
 • XAML
 • XML
 • Dynamics
 • Noticias
 • Articulos
 • Tutoriales
 • Eventos
 • Cursos
 • Ofertas Empleo
 • RSS
Contacto
¿Quieres saber quien es el creador de Clikear?

Tutorial C#

Tablas unidimensionales

 

Una tabla unidimensional es un tipo especial de variable que es capaz de almacenar en su interior y de manera ordenada uno o varios datos de un determinado tipo. Para declarar variables de este tipo especial se usa la siguiente sintaxis:

 

            <tipoDatos>[] <nombreTabla>;

 

Por ejemplo, una tabla que pueda almacenar objetos de tipo int se declara así:

 

            int[] tabla;

 

Con esto la tabla creada no almacenaría ningún objeto, sino que valdría null. Si se desea que verdaderamente almacene objetos hay que indicar cuál es el número de objetos que podrá almacenar, lo que puede hacerse usando la siguiente sintaxis al declararla:

 

             <tipoDatos>[] <nombreTabla> = new <tipoDatos>[<númeroDatos>];

 

Por ejemplo, una tabla que pueda almacenar 100 objetos de tipo int se declara así:

 

            int[] tabla = new int[100];

 

Aunque también sería posible definir el tamaño de la tabla de forma separada a su declaración de este modo:

 

            int[] tabla;

            tabla = new int[100];

 

Con esta última sintaxis es posible cambiar dinámicamente el número de elementos de una variable tabla sin más que irle asignando nuevas tablas. Ello no significa que una tabla se pueda redimensionar conservando los elementos que tuviese antes del cambio de tamaño, sino que ocurre todo lo contrario: cuando a una variable tabla se le asigna una tabla de otro tamaño, sus elementos antiguos son sobreescritos por los nuevos.

 

Si se crea una tabla con la sintaxis hasta ahora explicada todos sus elementos tendrían el valor por defecto de su tipo de dato. Si queremos darles otros valores al declarar la tabla, hemos de indicarlos entre llaves usando esta sintaxis:

 

             <tipoDatos>[] <nombreTabla> = new <tipoDatos>[] {<valores>};

 

Ha de especificarse tantos <valores> como número de elementos se desee que tenga la tabla, y si son más de uno se han de separar entre sí mediante comas (,) Nótese que ahora no es necesario indicar el número de elementos de la tabla (aunque puede hacerse) si se desea), pues el compilador puede deducirlo del número de valores especificados. Por ejemplo, para declarar una tabla de cuatro elementos de tipo int con valores 5,1,4,0 se podría hacer lo siguiente:

 

            int[] tabla = new int[] {5,1,4,0};

 

Incluso se puede compactar aún más la sintaxis declarando la tabla así:

 

            int[] tabla = {5,1,4,0};

 

También podemos crear tablas cuyo tamaño se pueda establecer dinámicamente a partir del valor de cualquier expresión que produzca un valor de tipo entero. Por ejemplo, para crear una tabla cuyo tamaño sea el valor indicado por una variable de tipo int (luego su valor será de tipo entero) se haría:

 

            int i = 5;

            ...

            int[] tablaDinámica =  new int[i];

 

A la hora de acceder a los elementos almacenados en una tabla basta indicar entre corchetes, y a continuación de la referencia a la misma, la posición que ocupe en la tabla el elemento al que acceder. Cuando se haga hay que tener en cuenta que en C# las tablas se indexan desde 0, lo que significa que el primer elemento de la tabla ocupará su posición 0, el segundo ocupará la posición 1, y así sucesivamente para el resto de elementos. Por ejemplo, aunque es más ineficiente, la tabla declarada en el último fragmento de código de ejemplo también podría haberse definido así:

 

            int[] tabla = new int[4];

 

            tabla[0] = 5;

            tabla[1]++;  // Por defecto se inicializó a 0, luego ahora el valor de tabla[1] pasa a ser 1

            tabla[2] = tabla[0] – tabla[1];  // tabla[2] pasa a valer 4, pues 5-4 = 1

 

           // El contenido de la tabla será {5,1,4,0}, pues tabla[3] se inicializó por defecto a 0.

 

Hay que tener cuidado a la hora de acceder a los elementos de una tabla ya que si se especifica una posición superior al número de elementos que pueda almacenar la tabla se producirá una excepción de tipo System.OutOfBoundsException. En el Tema 16: Instrucciones se explica qué son las excepciones, pero por ahora basta considerar que son objetos que informan de situaciones excepcionales (generalmente errores) producidas durante la ejecución de una aplicación. Para evitar este tipo de excepciones puede consultar el valor del campo[1] de sólo lectura Length que está asociado a toda tabla y contiene el número de elementos de la misma. Por ejemplo, para asignar un 7 al último elemento de la tabla anterior se haría:

 

            tabla[tabla.Length – 1] = 7;  // Se resta 1 porque tabla.Length devuelve 4 pero el último                                                          // elemento de la tabla es tabla[3]

 

 



[1] Length es en realidad una propiedad, pero por ahora podemos considerar que es campo.

Principal