SlideShare una empresa de Scribd logo
Tutorial de matrices 
Visual Studio .NET 2003 
Personas que lo han encontrado útil: 62 de 98 - Valorar este tema 
Este tutorial describe las matrices y muestra cómo funcionan en C#. 
Archivos de ejemplo 
Vea Ejemplo de matrices para descargar y generar los archivos de ejemplo que se utilizan en este 
tutorial. 
Información adicional 
 Matrices 
 12. Matrices 
 foreach, in 
 Tutorial de clases de colección 
Tutorial 
Este tutorial se divide en las siguientes secciones: 
 Matrices en general 
 Declarar matrices 
 Inicializar matrices 
 Acceso a miembros de matrices 
 Las matrices son objetos 
 Usar foreach con matrices 
Matrices en general 
En las matrices de C#, los índices empiezan en cero. Las matrices de C# funcionan de forma similar a 
como lo hacen en la mayoría de los lenguajes populares; existen, sin embargo, algunas diferencias 
que se deben conocer. 
Cuando se declara una matriz, los corchetes ([]) deben ir después del tipo, no después del 
identificador. Colocar los corchetes después del identificador no es sintácticamente válido en C#. 
int[] table; // not int table[]; 
Otro detalle es que el tamaño 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. 
int[] numbers; // declare numbers as an int array of any size 
numbers = new int[10]; // numbers is a 10-element array 
numbers = new int[20]; // now it's a 20-element array 
Declarar matrices
C# admite matrices de una dimensión, matrices multidimensionales (matrices rectangulares) y 
matrices de matrices (matrices escalonadas). El siguiente ejemplo muestra cómo declarar diferentes 
tipos de matrices: 
Matrices unidimensionales: 
int[] numbers; 
Matrices multidimensionales: 
string[,] names; 
Matrices de matrices (escalonadas): 
byte[][] scores; 
La declaración de matrices (como se muestra arriba) no crea realmente las matrices. En C#, las 
matrices son objetos (se explica más adelante en este tutorial) cuyas instancias deben crearse. Los 
siguientes ejemplos muestran cómo crear matrices: 
Matrices unidimensionales: 
int[] numbers = new int[5]; 
Matrices multidimensionales: 
string[,] names = new string[5,4]; 
Matrices de matrices (escalonadas): 
byte[][] scores = new byte[5][]; 
for (int x = 0; x < scores.Length; x++) 
{ 
scores[x] = new byte[4]; 
} 
También se pueden utilizar matrices más grandes. Por ejemplo, se puede utilizar una matriz 
rectangular de tres dimensiones: 
int[,,] buttons = new int[4,5,3]; 
Incluso, se pueden combinar matrices rectangulares y escalonadas. Por ejemplo, el siguiente código 
declara una matriz unidimensional que contiene matrices tridimensionales de matrices 
bidimensionales de tipo int: 
int[][,,][,] numbers; 
Ejemplo 
El siguiente es un programa completo en C# que declara y crea instancias de las matrices 
comentadas anteriormente. 
// arrays.cs 
using System; 
class DeclareArraysSample 
{ 
public static void Main() 
{ 
// Single-dimensional array 
int[] numbers = new int[5]; 
// Multidimensional array 
string[,] names = new string[5,4];
// Array-of-arrays (jagged array) 
byte[][] scores = new byte[5][]; 
// Create the jagged array 
for (int i = 0; i < scores.Length; i++) 
{ 
scores[i] = new byte[i+3]; 
} 
// Print length of each row 
for (int i = 0; i < scores.Length; i++) 
{ 
Console.WriteLine("Length of row {0} is {1}", i, 
scores[i].Length); 
} 
} 
} 
Resultado 
Length of row 0 is 3 
Length of row 1 is 4 
Length of row 2 is 5 
Length of row 3 is 6 
Length of row 4 is 7 
Inicializar matrices 
C# proporciona métodos simples y sencillos para inicializar matrices en el momento de la 
declaración 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 declaración, sus miembros se inicializan 
automáticamente con el valor inicial predeterminado para el tipo de matriz. Además, 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"}; 
El tamaño de la matriz se puede omitir, como se indica a continuación: 
int[] numbers = new int[] {1, 2, 3, 4, 5}; 
string[] names = new string[] {"Matt", "Joanne", "Robert"}; 
También se puede omitir el operador new si se utiliza un inicializador como el siguiente: 
int[] numbers = {1, 2, 3, 4, 5}; 
string[] names = {"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 tamaño de la matriz se puede omitir, como se indica a continuación: 
int[,] numbers = new int[,] { {1, 2}, {3, 4}, {5, 6} }; 
string[,] siblings = new string[,] { {"Mike","Amy"}, {"Mary","Albert"} }; 
También 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"} }; 
Matriz escalonada (matriz de matrices) 
Las matrices escalonadas se pueden inicializar como en el siguiente ejemplo: 
int[][] numbers = new int[2][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} 
}; 
El tamaño de la primera matriz se puede omitir, como se indica a continuación: 
int[][] numbers = new int[][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} 
}; 
O bien 
int[][] numbers = { new int[] {2,3,4}, new int[] {5,6,7,8,9} }; 
Observe que no existe sintaxis de inicialización para los elementos de una matriz escalonada. 
Acceso a miembros de matrices 
El acceso a los miembros de una matriz es sencillo y similar al de los miembros de una matriz de C o 
C++. Por ejemplo, el siguiente código crea una matriz denominada numbersy, a continuación, 
asigna un 5 al quinto elemento de la matriz: 
int[] numbers = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}; 
numbers[4] = 5; 
El siguiente código 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; 
La siguiente es una declaración de una matriz escalonada de una sola dimensión que contiene dos 
elementos. El primer elemento es una matriz de dos enteros, mientras que el segundo es una matriz 
de tres enteros: 
int[][] numbers = new int[][] { new int[] {1, 2}, new int[] {3, 4, 5} 
}; 
La siguiente instrucción asigna 58 al primer elemento de la primera matriz y 667 al segundo 
elemento de la segunda matriz: 
numbers[0][0] = 58; 
numbers[1][1] = 667; 
Las matrices son objetos 
En C#, las matrices son realmente objetos. System.Array es el tipo base abstracto de todos los 
tipos de matrices. Las propiedades y otros miembros de la clase System.Array se pueden utilizar 
cuando sea necesario. Un ejemplo de esto sería utilizar la propiedad Length para obtener la
longitud de una matriz. El siguiente código asigna la longitud de la matriz numbers, que es 5, a una 
variable denominada LengthOfNumbers: 
int[] numbers = {1, 2, 3, 4, 5}; 
int LengthOfNumbers = numbers.Length; 
La clase System.Array proporciona muchos otros métodos y propiedades útiles, como métodos 
para ordenar, buscar y copiar matrices. 
Usar foreach con matrices 
C# dispone de la instrucción foreach. Esta instrucción proporciona un modo simple y limpio de 
iterar en los elementos de una matriz. Por ejemplo, el siguiente código crea una matriz 
denominada numbers y la recorre mediante la instrucción foreach: 
int[] numbers = {4, 5, 6, 1, 2, 3, -2, -1, 0}; 
foreach (int i in numbers) 
{ 
System.Console.WriteLine(i); 
} 
Con matrices multidimensionales, se puede utilizar el mismo método para recorrer los elementos, 
por ejemplo: 
int[,] numbers = new int[3, 2] {{9, 99}, {3, 33}, {5, 55}}; 
foreach(int i in numbers) 
{ 
Console.Write("{0} ", i); 
} 
El resultado de este ejemplo es: 
9 99 3 33 5 55 
Sin embargo, con matrices multidimensionales, utilizar un bucle for anidado proporciona más 
control sobre los elementos de la matriz.

Más contenido relacionado

PDF
Apuntesmatlab
PPTX
12-Unidad 3: Encapsulamiento y modularidad
PDF
2 _expresiones_matematicas_254209
PPT
Unidad4 Parte1
DOCX
PPTX
Matrices
DOCX
Funciones estadísticas
PPT
Arreglos Java (arrays)
Apuntesmatlab
12-Unidad 3: Encapsulamiento y modularidad
2 _expresiones_matematicas_254209
Unidad4 Parte1
Matrices
Funciones estadísticas
Arreglos Java (arrays)

La actualidad más candente (11)

DOCX
339012601 ada-4-info-2
PPTX
Lenguaje de Programacion - Java
PDF
Guía nº 8 arreglos
PPTX
03 uni1-estructuras de datos-arreglos 2 d
PDF
Presentacion recursividad unidad 2
PPTX
Diapositivas tecno
PPTX
Vectores en power point [recuperado]
PPTX
01 uni1-estructuras de datos-introduccion a las ed
PPTX
Trabajo de tecno
PPTX
Moreno nathalie actividad4
339012601 ada-4-info-2
Lenguaje de Programacion - Java
Guía nº 8 arreglos
03 uni1-estructuras de datos-arreglos 2 d
Presentacion recursividad unidad 2
Diapositivas tecno
Vectores en power point [recuperado]
01 uni1-estructuras de datos-introduccion a las ed
Trabajo de tecno
Moreno nathalie actividad4
Publicidad

Similar a Tutorial de matrices c# (20)

DOCX
Arreglos
PPTX
Presentacion de vectores
PPTX
Presentacion de vectores y matrices
PPT
Presentacion Arra Ys Con C#
PPT
Presentacion Arrays Con C#
PPT
Presentacion Arra Ys Con C#
PPTX
Arrays - programación 3
PPT
6. Tablas
PPT
Presentación de c #
PPTX
Vectores y matrices
DOCX
Arreglos unidad 2 semestre 2
DOCX
Arreglos
PPTX
CONOCIENDO UN POCO MAS ACERCA DE ARRAYS -TRABAJO.CORDOVA -.pptx
PDF
Arreglos
PDF
Giseproi curso de programación - sesión 10 - arreglos y matrices
PPT
Introducción a C SHARP
Arreglos
Presentacion de vectores
Presentacion de vectores y matrices
Presentacion Arra Ys Con C#
Presentacion Arrays Con C#
Presentacion Arra Ys Con C#
Arrays - programación 3
6. Tablas
Presentación de c #
Vectores y matrices
Arreglos unidad 2 semestre 2
Arreglos
CONOCIENDO UN POCO MAS ACERCA DE ARRAYS -TRABAJO.CORDOVA -.pptx
Arreglos
Giseproi curso de programación - sesión 10 - arreglos y matrices
Introducción a C SHARP
Publicidad

Más de Joselyn Aguirre (20)

PPTX
Presentacion del video (1)
PPTX
Fondo de-pantalla
PPTX
Presentacion del video
DOCX
DOCX
Como subir una_imagen_eclipse
PPTX
Presentación12
PPTX
Presentación13
PPTX
Programa14
PPTX
Programa5
PPTX
Presentación11 vejc
PPTX
Programa 10
PPTX
sPrograma 9
PPTX
Programa8
PPTX
Programa4
PPTX
Programa 6
DOCX
PPTX
Programa5
PPTX
Programa 6
DOCX
Programa 2
DOCX
Programa 1
Presentacion del video (1)
Fondo de-pantalla
Presentacion del video
Como subir una_imagen_eclipse
Presentación12
Presentación13
Programa14
Programa5
Presentación11 vejc
Programa 10
sPrograma 9
Programa8
Programa4
Programa 6
Programa5
Programa 6
Programa 2
Programa 1

Último (6)

DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PPTX
sistemas de informacion.................
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
AutoCAD Herramientas para el futuro, Juan Fandiño
Su punto de partida en la IA: Microsoft 365 Copilot Chat
Conceptos basicos de Base de Datos y sus propiedades
Derechos_de_Autor_y_Creative_Commons.pptx
sistemas de informacion.................

Tutorial de matrices c#

  • 1. Tutorial de matrices Visual Studio .NET 2003 Personas que lo han encontrado útil: 62 de 98 - Valorar este tema Este tutorial describe las matrices y muestra cómo funcionan en C#. Archivos de ejemplo Vea Ejemplo de matrices para descargar y generar los archivos de ejemplo que se utilizan en este tutorial. Información adicional  Matrices  12. Matrices  foreach, in  Tutorial de clases de colección Tutorial Este tutorial se divide en las siguientes secciones:  Matrices en general  Declarar matrices  Inicializar matrices  Acceso a miembros de matrices  Las matrices son objetos  Usar foreach con matrices Matrices en general En las matrices de C#, los índices empiezan en cero. Las matrices de C# funcionan de forma similar a como lo hacen en la mayoría de los lenguajes populares; existen, sin embargo, algunas diferencias que se deben conocer. Cuando se declara una matriz, los corchetes ([]) deben ir después del tipo, no después del identificador. Colocar los corchetes después del identificador no es sintácticamente válido en C#. int[] table; // not int table[]; Otro detalle es que el tamaño 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. int[] numbers; // declare numbers as an int array of any size numbers = new int[10]; // numbers is a 10-element array numbers = new int[20]; // now it's a 20-element array Declarar matrices
  • 2. C# admite matrices de una dimensión, matrices multidimensionales (matrices rectangulares) y matrices de matrices (matrices escalonadas). El siguiente ejemplo muestra cómo declarar diferentes tipos de matrices: Matrices unidimensionales: int[] numbers; Matrices multidimensionales: string[,] names; Matrices de matrices (escalonadas): byte[][] scores; La declaración de matrices (como se muestra arriba) no crea realmente las matrices. En C#, las matrices son objetos (se explica más adelante en este tutorial) cuyas instancias deben crearse. Los siguientes ejemplos muestran cómo crear matrices: Matrices unidimensionales: int[] numbers = new int[5]; Matrices multidimensionales: string[,] names = new string[5,4]; Matrices de matrices (escalonadas): byte[][] scores = new byte[5][]; for (int x = 0; x < scores.Length; x++) { scores[x] = new byte[4]; } También se pueden utilizar matrices más grandes. Por ejemplo, se puede utilizar una matriz rectangular de tres dimensiones: int[,,] buttons = new int[4,5,3]; Incluso, se pueden combinar matrices rectangulares y escalonadas. Por ejemplo, el siguiente código declara una matriz unidimensional que contiene matrices tridimensionales de matrices bidimensionales de tipo int: int[][,,][,] numbers; Ejemplo El siguiente es un programa completo en C# que declara y crea instancias de las matrices comentadas anteriormente. // arrays.cs using System; class DeclareArraysSample { public static void Main() { // Single-dimensional array int[] numbers = new int[5]; // Multidimensional array string[,] names = new string[5,4];
  • 3. // Array-of-arrays (jagged array) byte[][] scores = new byte[5][]; // Create the jagged array for (int i = 0; i < scores.Length; i++) { scores[i] = new byte[i+3]; } // Print length of each row for (int i = 0; i < scores.Length; i++) { Console.WriteLine("Length of row {0} is {1}", i, scores[i].Length); } } } Resultado Length of row 0 is 3 Length of row 1 is 4 Length of row 2 is 5 Length of row 3 is 6 Length of row 4 is 7 Inicializar matrices C# proporciona métodos simples y sencillos para inicializar matrices en el momento de la declaración 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 declaración, sus miembros se inicializan automáticamente con el valor inicial predeterminado para el tipo de matriz. Además, 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"}; El tamaño de la matriz se puede omitir, como se indica a continuación: int[] numbers = new int[] {1, 2, 3, 4, 5}; string[] names = new string[] {"Matt", "Joanne", "Robert"}; También se puede omitir el operador new si se utiliza un inicializador como el siguiente: int[] numbers = {1, 2, 3, 4, 5}; string[] names = {"Matt", "Joanne", "Robert"}; Matrices multidimensionales int[,] numbers = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} };
  • 4. string[,] siblings = new string[2, 2] { {"Mike","Amy"}, {"Mary","Albert"} }; El tamaño de la matriz se puede omitir, como se indica a continuación: int[,] numbers = new int[,] { {1, 2}, {3, 4}, {5, 6} }; string[,] siblings = new string[,] { {"Mike","Amy"}, {"Mary","Albert"} }; También 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"} }; Matriz escalonada (matriz de matrices) Las matrices escalonadas se pueden inicializar como en el siguiente ejemplo: int[][] numbers = new int[2][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} }; El tamaño de la primera matriz se puede omitir, como se indica a continuación: int[][] numbers = new int[][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} }; O bien int[][] numbers = { new int[] {2,3,4}, new int[] {5,6,7,8,9} }; Observe que no existe sintaxis de inicialización para los elementos de una matriz escalonada. Acceso a miembros de matrices El acceso a los miembros de una matriz es sencillo y similar al de los miembros de una matriz de C o C++. Por ejemplo, el siguiente código crea una matriz denominada numbersy, a continuación, asigna un 5 al quinto elemento de la matriz: int[] numbers = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}; numbers[4] = 5; El siguiente código 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; La siguiente es una declaración de una matriz escalonada de una sola dimensión que contiene dos elementos. El primer elemento es una matriz de dos enteros, mientras que el segundo es una matriz de tres enteros: int[][] numbers = new int[][] { new int[] {1, 2}, new int[] {3, 4, 5} }; La siguiente instrucción asigna 58 al primer elemento de la primera matriz y 667 al segundo elemento de la segunda matriz: numbers[0][0] = 58; numbers[1][1] = 667; Las matrices son objetos En C#, las matrices son realmente objetos. System.Array es el tipo base abstracto de todos los tipos de matrices. Las propiedades y otros miembros de la clase System.Array se pueden utilizar cuando sea necesario. Un ejemplo de esto sería utilizar la propiedad Length para obtener la
  • 5. longitud de una matriz. El siguiente código asigna la longitud de la matriz numbers, que es 5, a una variable denominada LengthOfNumbers: int[] numbers = {1, 2, 3, 4, 5}; int LengthOfNumbers = numbers.Length; La clase System.Array proporciona muchos otros métodos y propiedades útiles, como métodos para ordenar, buscar y copiar matrices. Usar foreach con matrices C# dispone de la instrucción foreach. Esta instrucción proporciona un modo simple y limpio de iterar en los elementos de una matriz. Por ejemplo, el siguiente código crea una matriz denominada numbers y la recorre mediante la instrucción foreach: int[] numbers = {4, 5, 6, 1, 2, 3, -2, -1, 0}; foreach (int i in numbers) { System.Console.WriteLine(i); } Con matrices multidimensionales, se puede utilizar el mismo método para recorrer los elementos, por ejemplo: int[,] numbers = new int[3, 2] {{9, 99}, {3, 33}, {5, 55}}; foreach(int i in numbers) { Console.Write("{0} ", i); } El resultado de este ejemplo es: 9 99 3 33 5 55 Sin embargo, con matrices multidimensionales, utilizar un bucle for anidado proporciona más control sobre los elementos de la matriz.