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, declaras una variable de matriz como números y usas números [0], números [1] y ..., números [99] para representar variables individuales. Se accede a un elemento específico de 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;

dónde,

  • 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.

  • arrayName 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 newpalabra clave para crear una instancia de la matriz. Por ejemplo,

double[] balance = new double[10];

Asignar valores a una matriz

Puede asignar valores a elementos individuales de la matriz, 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 destino 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 a un valor predeterminado según el tipo de matriz. Por ejemplo, para una matriz int, todos los elementos se inicializan a 0.

Acceso a elementos de 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 muestra los conceptos de declaración, asignación y acceso a matrices antes mencionados:

using 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

Usando el bucle foreach

En el ejemplo anterior, usamos un bucle for para acceder a cada elemento de la matriz. También puede utilizar unforeach instrucción para iterar a través de una matriz.

using 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 #

A continuación, se presentan algunos conceptos importantes relacionados con la matriz que deberían ser claros para un programador de C #

No Señor. Concepto y descripción
1 Matrices multidimensionales

C # admite matrices multidimensionales. La forma más simple de la matriz multidimensional es la matriz bidimensional.

2 Matrices irregulares

C # admite matrices multidimensionales, que son matrices de matrices.

3 Pasar matrices 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

Se utiliza para pasar un número desconocido de parámetros a una función.

5 La clase Array

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.