Arreglos en C# - Latindevelopers PDF
Arreglos en C# - Latindevelopers PDF
com/qa/)
(http://www.latindevelopers.com/) Artículos (http://www.latindevelopers.com/category/articulo/)
Arreglos en C#
Publicado en 31 Dic 2017 el 6 07 pm.
Contenido
Como declarar un arreglo en C#
(http://www.latindevelopers.com/articu
Escrito por Ivan Cachicatari en-
(http://www.latindevelopers.com/author/ivancp/) csharp/#Como_declarar_un_arreglo_en_C
(https://twitter.com/latindev) Arreglos multi-dimensionales
(https://github.com/ivancp) (http://www.latindevelopers.com/articu
Los arreglos en C# (también conocidos como Arrays) al igual que en C/C++, en-csharp/#Arreglos_multi-
son indexados iniciando en cero (0). La forma de trabajo es muy similar a la dimensionales)
Inicialización con valores
mayoría de lenguajes pero hay lagunas diferencias que notarán. (http://www.latindevelopers.com/articu
Como declarar un arreglo en C# en-
csharp/#Inicializacion_con_valores)
En C# los arreglos son objetos
Cuando vayamos a declarar un arreglo en debemos colocar los corchetes (http://www.latindevelopers.com/articu
después de tipo de dato. En C/C++ se estila poner los corchetes después del en-
identificador, eso causa un error de compilación en C#. csharp/#En_C_los_arreglos_son_objetos)
Navegar por los valores del arreglo
1. //Declaración erronea
(foreach)
(http://www.latindevelopers.com/articu
2. int valores[];
3.
4. en-
5.
6.
//Declaración valida
int[] valores;
csharp/#Navegar_por_los_valores_del_ar
En C# podemos indicar el tamaño del arreglo luego de la declaración. Esto nos
permite decidir que tamaño va a tener el arreglo según lo que necesitemos.
1. int[] valores; //valores sin inicializar
2. valores = new int[100]; //100 elementos
Prueba nuestro sistema de preguntas
y respuestas. » (/qa/)
3. valores = new int[20]; //ahora contiene 20 elementos
Arreglos multi-dimensionales
En C# también podemos declarar arreglos multidimensionales, aquí unos
ejemplos:
1. //Arreglos unidimensionales o de dimensión simple
2. int[] valores1; //sin inicializar
3. int[] valores2 = new int[50];
4.
5. //Arreglos multidimensionales
6. int[,] valores1; //sin inicializar
7. int[,] valores2 = new int[3,7];
8. int[,,] valores3 = new int[3,4,2]; //Arreglo de tres dimensiones
9.
/
10. //Arreglo de arreglos
11. int[][] matriz; //sin inicializar
12.
13. //Los arreglos de arreglos se inicializan de manera diferente
14. int[][] matriz = new int[3][];
15. for (int i = 0; i < matriz.Length; i++)
16. {
17. matriz[i] = new int[4];
18. }
Inicialización con valores
Hay varias formas de inicializar los arreglos:
1. int[] valores = new int[10] {0,1,2,3,4,5,6,7,8,9};
2. string[] paises = new string[5] {"Argentina", "Bolivia",
"Peru","Chile","Colombia"};
3.
4. //Inicializacion omitiendo el tamaño de la matriz
5. int[] valores = new int[] {0,1,2,3,4,5,6,7,8,9};
6. string[] paises = new string[] {"Argentina", "Bolivia",
"Peru","Chile","Colombia"};
7.
8. //Tambien podemos omitir el operador new
9.
10. int[] valores = {0,1,2,3,4,5,6,7,8,9};
11. string[] paises = {"Argentina", "Bolivia", "Peru","Chile","Colombia"};
Para los arreglos multidimensionales la cosa cambia un poco:
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.
4. //Tambien podemos omitir el tamaño de la matriz
5. int[,] numeros = new int[,] { {1, 2,3,4}, {9, 8,7,6}, {7, 6,2,5} };
6. string[,] regiones = new string[,] { {"Argentina","Brasil","Peru"},
{"USA",";Mexico","Costa Rica"} };
7.
8. //Y tambien podemos olvidarnos del operador
9. int[,] numeros = { {1, 2,3,4}, {9, 8,7,6}, {7, 6,2,5} };
10. string[,] regiones = { {"Argentina","Brasil","Peru"},
{"USA",";Mexico","Costa Rica"} };
Para acceder a los miembros solo tenemos que citar el índice correcto en cada
caso:
1. valores[1] = 4; //Cambia el valor del indice 1 a 4
2. numeros[2,1] = 10; //Cambia el valor de indice 2,1 a 10
3.
4. //En un arreglo de arreglos:
5. matriz[2][1] = 4;
En C# los arreglos son objetos /
Una ventaja frente a C++ es que los arreglos son objetos (si con propiedades),
la propiedas mas útil es lenght (longitud) que nos indica que tamaño tiene
nuestro arreglo. Aqui un ejemplo:
1. System.Console.WriteLine(valores.Length);
2. System.Console.WriteLine(numeros.Length);
3. System.Console.WriteLine(regiones.Length);
Navegar por los valores del arreglo (foreach)
En C# también podemos utilizar la sentencia foreach, es una manera simple de
acceder a los valores de un arreglo.
1. int[] valores = {3, 5, 2, 1, 5, 3, 7, 9, 8};
2. foreach (int i in valores)
3. {
4. Console.Write("{0} ", i);
5. }
6.
7. Console.Write(" ");
8.
9. //también en arreglos multidimensionales
10. int[,] numeros = new int[2, 3] {{5,2,1}, {7,4,5}, {2,9 ,10}};
11. foreach(int i in numeros)
12. {
13. Console.Write("{0} ", i);
14. }
La salida del programa anterior es:
1. 3 5 2 1 5 3 7 9 8
2. 5 2 1 7 4 5 2 9 10
Para acceder a los valores de arreglos mas complejos podemos utilizar
sentencias foreach anidados.
Me gusta esto:
Cargando...
C# (/tag/csharp/)
Juego de ajedrez en Visual C++
(http://www.latindevelopers.com/articulo/juego-de-ajedrez/)
IF, IIF en SQL Server (http://www.latindevelopers.com/articulo/if-iif-en-sql-
server/)
3 Respuestas a “Arreglos en C#”
david Hace un mes (http://www.latindevelopers.com/articulo/arreglos-en-
csharp/#comment-856)
/
Reply (http://www.latindevelopers.com/articulo/arreglos-en-
csharp/?replytocom=856#respond)
Esta genial, lo he entendido, y soy novato
aduna hace 3 meses (http://www.latindevelopers.com/articulo/arreglos-en-
csharp/#comment-797)
Reply (http://www.latindevelopers.com/articulo/arreglos-en-
csharp/?replytocom=797#respond)
Es buen post pero para alguien que va comenzando esta un poco confuso,
generalmente quien busca estos post son personas que no conocen aun
mucho sobre programacion, por lo tanto creo que mejoraria con ejemplos mas
reales y comentando las lineas, saludos y gracias
juan hace 7 meses (http://www.latindevelopers.com/articulo/arreglos-en-
csharp/#comment-639)
Reply (http://www.latindevelopers.com/articulo/arreglos-en-
csharp/?replytocom=639#respond)
Muy buen aporte, gracias
Dejar una Respuesta
Nombre(requerido)
Sitio web
Comentario
Publicar Comentario