Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Es una coleccin de datos que tienen algo en comn que se referencian con un solo nombre y tienen
un ndice diferente.
Otro detalle es que el tamao de la matriz no forma parte de su tipo, como ocurre en el lenguaje C.
Esto permite declarar una matriz y asignarle cualquier matriz de objetos int, independientemente de
la longitud de la matriz.
Declarar matrices
C# admite matrices de una dimensin, matrices multidimensionales (matrices rectangulares) y
matrices de matrices (matrices escalonadas).
En C# se crea matrices: de la siguiente manera:
Matrices unidimensionales:
int[] numbers = new int[5];
Matrices Bidimensional:
string[,] names = new string[5,4];
Inicializar matrices
C# proporciona mtodos simples y sencillos para inicializar matrices en el momento de la declaracin
encerrando los valores iniciales entre llaves ({}). Los siguientes ejemplos muestran diferentes modos
de inicializar diferentes tipos de matrices.
Nota Si no inicializa una matriz en el momento de la declaracin, sus miembros se inicializan
automticamente con el valor inicial predeterminado para el tipo de matriz. Adems, si declara la
matriz como campo de un tipo, se establecer con el valor predeterminado null cuando cree la
instancia del tipo.
Matrices unidimensionales
int[] numbers = new int[5] {1, 2, 3, 4, 5};
string[] names = new string[3] {"Matt", "Joanne", "Robert"};
Matrices multidimensionales
int[,] numbers = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} };
string[,] siblings = new string[2, 2] { {"Mike","Amy"}, {"Mary","Albert"}
};
El tamao de la matriz se puede omitir, como se indica a continuacin:
int[,] numbers = new int[,] { {1, 2}, {3, 4}, {5, 6} };
string[,] siblings = new string[,] { {"Mike","Amy"}, {"Mary","Albert"} };
Tambin se puede omitir el operador new si se utiliza un inicializador como el siguiente:
int[,] numbers = { {1, 2}, {3, 4}, {5, 6} };
string[,] siblings = { {"Mike", "Amy"}, {"Mary", "Albert"} };
El siguiente cdigo declara una matriz multidimensional y asigna el valor 5 al miembro ubicado
en [1, 1]:
int[,] numbers = { {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10} };
numbers[1, 1] = 5;
Sin embargo, con matrices multidimensionales, utilizar un bucle for anidado proporciona ms control
sobre los elementos de la matriz.
//Declaracin erronea
1. int valores[];
2.
3. //Declaracin valida
4. int[] valores;
En C# podemos indicar el tamao del arreglo luego de la declaracin. Esto nos permite decidir que
tamao va a tener el arreglo segn lo que necesitemos.
Arreglos multi-dimensionales
En C# tambin podemos declarar arreglos multidimensionales, aqu unos ejemplos:
3.
4. //Arreglos multidimensionales
8.
9. //Arreglo de arreglos
11.
17. }
2.
6.
8.
11.
1. int[,] numeros = new int[3, 4] { {1, 2,3,4}, {9, 8,7,6}, {7, 6,2,5} };
2. string[,] regiones = new string[2, 3] { {"Argentina","Brasil","Peru"}, {"USA",";Mexico"
,"Costa Rica"} };
3.
5. int[,] numeros = new int[,] { {1, 2,3,4}, {9, 8,7,6}, {7, 6,2,5} };
7.
Para acceder a los miembros solo tenemos que citar el indice correcto en cada caso:
3.
6.
1. System.Console.WriteLine(valores.Length);
2. System.Console.WriteLine(numeros.Length);
3. System.Console.WriteLine(regiones.Length);
3. {
5. }
6.
7. Console.Write(" ");
8.
12. {
14. }
15.
1. 3 5 2 1 5 3 7 9 8
2. 5 2 1 7 4 5 2 9 10