C# - Matrices
Una matriz almacena una colección secuencial de tamaño fijo de elementos del mismo tipo. Una matriz se usa para almacenar una colección de datos, pero a menudo es más útil pensar en una matriz como una colección de variables del mismo tipo almacenadas en ubicaciones de memoria contiguas.
En lugar de declarar variables individuales, como número0, número1, ... y número99, declara una variable de matriz como números y usa números[0], números[1] y ..., números[99] para representar variables individuales. Se accede a un elemento específico en una matriz mediante un índice.
Todas las matrices constan de ubicaciones de memoria contiguas. La dirección más baja corresponde al primer elemento y la dirección más alta al último elemento.
Declaración de matrices
Para declarar una matriz en C#, puede usar la siguiente sintaxis −
datatype[] arrayName;
donde,
-
tipo de datos se utiliza para especificar el tipo de elementos en la matriz.
-
[ ] especifica el rango de la matriz. El rango especifica el tamaño de la matriz.
-
Nombre de matriz especifica el nombre de la matriz.
Por ejemplo,
double[] balance;
Inicializar una matriz
Declarar una matriz no inicializa la matriz en la memoria. Cuando se inicializa la variable de matriz, puede asignar valores a la matriz.
Array es un tipo de referencia, por lo que debe usar el nuevo palabra clave para crear una instancia de la matriz. Por ejemplo,
double[] balance = new double[10];
Asignación de valores a una matriz
Puede asignar valores a elementos de matriz individuales, utilizando el número de índice, como −
double[] balance = new double[10]; balance[0] = 4500.0;
Puede asignar valores a la matriz en el momento de la declaración, como se muestra −
double[] balance = { 2340.0, 4523.69, 3421.0};
También puede crear e inicializar una matriz, como se muestra −
int [] marks = new int[5] { 99, 98, 92, 97, 95};
También puede omitir el tamaño de la matriz, como se muestra −
int [] marks = new int[] { 99, 98, 92, 97, 95};
Puede copiar una variable de matriz en otra variable de matriz de destino. En tal caso, tanto el objetivo como el origen apuntan a la misma ubicación de memoria −
int [] marks = new int[] { 99, 98, 92, 97, 95}; int[] score = marks;
Cuando crea una matriz, el compilador de C# inicializa implícitamente cada elemento de la matriz en un valor predeterminado según el tipo de matriz. Por ejemplo, para una matriz int, todos los elementos se inicializan en 0.
Acceso a los elementos de la matriz
Se accede a un elemento indexando el nombre de la matriz. Esto se hace colocando el índice del elemento entre corchetes después del nombre de la matriz. Por ejemplo,
double salary = balance[9];
El siguiente ejemplo demuestra los conceptos mencionados anteriormente declaración, asignación y acceso a matrices −
Demostración en vivousing System; namespace ArrayApplication { class MyArray { static void Main(string[] args) { int [] n = new int[10]; /* n is an array of 10 integers */ int i,j; /* initialize elements of array n */ for ( i = 0; i < 10; i++ ) { n[ i ] = i + 100; } /* output each array element's value */ for (j = 0; j < 10; j++ ) { Console.WriteLine("Element[{0}] = {1}", j, n[j]); } Console.ReadKey(); } } }
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado −
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109
Uso del foreach Bucle
En el ejemplo anterior, usamos un bucle for para acceder a cada elemento de la matriz. También puede usar un foreach declaración para iterar a través de una matriz.
Demostración en vivousing System; namespace ArrayApplication { class MyArray { static void Main(string[] args) { int [] n = new int[10]; /* n is an array of 10 integers */ /* initialize elements of array n */ for ( int i = 0; i < 10; i++ ) { n[i] = i + 100; } /* output each array element's value */ foreach (int j in n ) { int i = j-100; Console.WriteLine("Element[{0}] = {1}", i, j); } Console.ReadKey(); } } }
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado −
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109
Matrices de C#
Hay algunos conceptos importantes relacionados con la matriz que deberían ser claros para un programador de C# −
Sr.No. | Concepto y descripción |
---|---|
1 | Arreglos multidimensionales C# admite matrices multidimensionales. La forma más simple de matriz multidimensional es la matriz bidimensional.
|
2 | Arreglos irregulares C# admite matrices multidimensionales, que son matrices de matrices.
|
3 | Pasando arreglos a funciones Puede pasar a la función un puntero a una matriz especificando el nombre de la matriz sin un índice.
|
4 | Matrices de parámetros Esto se usa para pasar un número desconocido de parámetros a una función.
|
5 | La clase de matriz Definida en el espacio de nombres del sistema, es la clase base para todas las matrices y proporciona varias propiedades y métodos para trabajar con matrices.
|
Lenguaje C
- Matrices de C#
- Matriz irregular de C#
- Pasar matriz a una función en programación C++
- Pasar arreglos a una función en C
- Relación entre matrices y punteros
- Matrices de copia de Java
- Matrices en C++ | Declarar | Inicializar | Ejemplos de puntero a matriz
- C++ Asignación dinámica de arreglos con ejemplo
- Tutorial de Java Arrays:declarar, crear, inicializar [ejemplo]
- MATLAB - Matrices
- La guía definitiva para arreglos de cuadrícula de bolas