Sei sulla pagina 1di 5

Arreglos en C#

elbuho68
Un arreglo es un conjunto de elementos uniformes de datos, representada por un nico nombre de variable. Los elementos individuales se acceden mediante el nombre de la variable y uno o ms ndices entre corchetes, tal como se muestra aqu: Nombre del Arreglo MyArray[4] Definiciones Empecemos con algunas definiciones importantes que tienen que ver con las matrices en C #. ndice

Elements: Los elementos de datos individuales de una matriz se denominan elementos. Todos los elementos de una matriz
deben ser del mismo tipo.

Rank/dimensions: Las matrices pueden tener cualquier nmero positivo de dimensiones. El nmero de dimensiones de un arreglo es
llamado rank.

Dimension length: Cada dimensin de una matriz tiene una longitud, que es el nmero de posicio nes en esa direccin. Array length: el nmero total de elementos contenidos en una matriz, en todas las dimensiones, es llamado la longitud de la matriz.
Detalles importantes Adems de las definiciones anteriores, hay varios hechos de a lto nivel sobre matrices de C #. Una vez que se crea una matriz, su tamao es fijo. C # no admite matrices dinmicas. Los ndices de una matriz empiezan en 0. Es decir, si la longitud de una dimensin es n, los valores del ndice van de 0 a n - 1. Por ejemplo, la Figura 14-1 muestra las dimensiones y longitudes de dos ejemplos de matrices. Tenga en cuenta que para cada dimensin, los ndices van desde 0 a length - 1.

Tipos de matrices C # proporciona dos tipos de matrices: Arreglos unidimensionales pueden ser considerados como una sola lnea, o vector de elementos. Las matrices multidimensionales se componen de tal manera que cada posicin en el vector primario es en s un arreglo, llamado sub-arreglo. Adems, hay dos tipos de matrices multidimensionales: Rectangulares

- Son las matrices multidimensionales en todas las sub-arrays de una dimensin particular, tienen la misma longitud - Siempre utilice un nico conjunto de corchetes, sin importar el nmero de dimensiones int x = myArray2[4, 6, 1] Escalonadas

- Son las matrices multidimensionales que cada sub-arreglo es un conjunto independiente - Se puede tener sub-arreglos de diferentes longitudes - Utilice un conjunto separado de corchetes para cada dimensin de la matriz jagArray1[2][7][4]

Un Arreglo es un objeto Una instancia de un arreglo es un objeto cuyo tipo se deriva de la clase System.Array. Dado que las matrices se derivan de esta clase base BCL, heredan una serie de miembros tiles de la misma, tales como Rank: propiedad que devuelve el nmero de dimensiones de la matriz Length: propiedad que devuelve la longitud de la matriz (el nmero total de elementos de la matriz)

Las matrices son tipos de referencia, y como con todos los tipos de referencia, tienen tanto una referencia a los datos y los datos del objeto en s. La referencia es, ya sea en la pila o el montn, y el propio objeto de datos ser siempre en el montn. La figura 14-3 muestra la configuracin y los componentes de una matriz de memoria.

Aunque una matriz es siempre un tipo de referencia, los elementos de la matriz puede ser o bien tipos de valor tipos de referencia. Una matriz se llama un tipo de matriz de valores si los elementos almacenados son tipos de valor. Una matriz se llama matriz de tipo de referencia si los elementos almacenados en la matriz de referencias de objetos son de tipo de referencia. La Figura 14-4 muestra un tipo de valor y un tipo de referencia.

Instanciando arreglos unidimensionales y rectangulares int[] arr2 = new int[4]; MyClass[] mcArr = new MyClass[4]; int[,,] arr3 = new int[3,6,2] ;

Accesando a los elementos de un arreglo int[] intArr1 = new int[15]; intArr1[2] = 10; int var1 = intArr1[2]; int[,] intArr2 = new int[5,10]; intArr2[2,3] = 7; int var2 = intArr2[2,3]; // 1-D example // Write to element 2 of the array. // Read from element 2 of the array. // 2-D example // Write to the array. // Read from the array.

El cdigo siguiente muestra el proceso complete de cmo crear y accesar arreglos unidimensionales. int[] myIntArray; // Declare the array. myIntArray = new int[4]; // Instantiate the array. for( int i=0; i<4; i++ ) // Set the values. myIntArray[i] = i*10; // Read and display the values of each element. for( int i=0; i<4; i++ ) Console.WriteLine("Value of element {0} = {1}", i, myIntArray[i]); Salida: Value of Value of Value of Value of

element element element element

0 1 2 3

is is is is

0 10 20 30

Inicializando y agregando elementos al arreglo unidimensional. int[] intArr = new int[4] { 10, 20, 30, 40 };

Inicializando y agregando elementos al arreglo rectangular. int[,] intArray2 = new int[3,2] { {10, 1}, {2, 10}, {11, 9} } ;

Por ejemplo la siguiente declaracin es Arreglo de 4 grupos de 3 grupos de 2 elementos . int[,,] intArray = new int[4,3,2] { { {8, { {6, { {7, { {4, }; 6}, 4}, 2}, 6}, {5, 2}, {12, 9} }, {13, 9}, {18, 4} }, {1, 13}, {9, 3} }, {3, 2}, {23, 8} }

Potrebbero piacerti anche