En realidad, todas las tablas que
definamos, sea cual sea el tipo de elementos que contengan, son objetos que
derivan de System.Array.
Es decir, van a disponer de todos los miembros que se han definido para esta
clase, entre los que son destacables:
- Length: Campo
de sólo lectura que informa del número total de elementos que contiene la
tabla. Si la tabla tiene más de una dimensión o nivel de anidación indica
el número de elementos de todas sus dimensiones y niveles. Por ejemplo:
int[]
tabla = {1,2,3,4};
int[][] tabla2 = {new int[] {1,2},
new int[] {3,4,5}};
int[,] tabla3 =
{{1,2},{3,4,5,6}};
Console.WriteLine(tabla.Length); //Imprime 4
Console.WriteLine(tabla2.Length); //Imprime 5
Console.WriteLine(tabla3.Length); //Imprime 6
- Rank: Campo de sólo
lectura que almacena el número de dimensiones de la tabla. Obviamente si
la tabla no es multidimensional valdrá 1. Por ejemplo:
int[] tabla = {1,2,3,4};
int[][] tabla2 = {new
int[] {1,2}, new int[] {3,4,5}};
int[,] tabla3 =
{{1,2},{3,4,5,6}};
Console.WriteLine(tabla.Rank); //Imprime 1
Console.WriteLine(tabla2.Rank); //Imprime 1
Console.WriteLine(tabla3.Rank); //Imprime 2
- int GetLength(int dimensión):
Método que devuelve el número de elementos de la dimensión especificada.
Las dimensiones se indican empezando a contar desde cero, por lo que si
quiere obtenerse el número de elementos de la primera dimensión habrá que
usar GetLength(0), si se
quiere obtener los de la segunda habrá que usar GetLength(1), etc. Por ejemplo:
int[,]
tabla = {{1,2}, {3,4,5,6}};
Console.WriteLine(tabla.GetLength(0)); // Imprime 2
Console.WriteLine(<gtabla.GetLength(1)); // Imprime 4
- void CopyTo(Array destino, int
posición): Copia todos los elementos de la tabla sobre la que
es aplica en la que se le pasa como primer parámetro a partir de la
posición de la misma indicada como segundo parámetro. Por ejemplo:
int[]
tabla1 = {1,2,3,4};
int[]
tabla2 = {5,6,7,8};
tabla1.CopyTo(tabla2,0); // A partir de ahora, ambas tablas contienen
{1,2,3,4}
Ambas tablas
han de ser unidimensionales. Por otro lado, y como es obvio, la tabla de
destino ha de ser de un tipo que pueda almacenar los objetos de la tabla
fuente, el índice especificado ha de ser válido (mayor o igual que cero y menor
que el tamaño de la tabla de destino) y no
ha de valer null ninguna. Si no fuese así, saltarían excepciones
de diversos tipos informando del error cometido (en la documentación del SDK
puede ver cuáles son en concreto)
Aparte de los miembros aquí
señalados, de System.Array
cuenta con muchos más que permiten realizar tareas tan frecuentes
como búsquedas de elementos, ordenaciones, etc.