C# Arrays (Array)

Un array es una colección secuencial de tamaño fijo que almacena elementos del mismo tipo. Un array es una colección utilizada para almacenar datos; generalmente se considera que un array es una colección de variables del mismo tipo.

Declarar una variable de array no implica declarar variables individuales como number0, number1, ..., number99, sino declarar una variable como numbers y luego usar numbers

Todos los arrays están compuestos por ubicaciones de memoria contiguas. La dirección más baja corresponde al primer elemento y la dirección más alta corresponde al último elemento.

C# 中的数组

Declaración de arrays

Para declarar un array en C#, puede utilizar la siguiente sintaxis:

datatype[] arrayName;

Donde:

  • datatypeSe utiliza para especificar el tipo de los elementos almacenados en el array.
  • [ ]Especifica el rango (dimensión) del array. El rango especifica el tamaño del array.
  • arrayNameEspecifica el nombre del array.

Por ejemplo:

double[] balance;

Inicialización de arrays

Declarar un array no lo inicializa en la memoria. Al inicializar una variable de array, puede asignarle valores.

Un array es un tipo de referencia, por lo que necesita utilizar lanewpalabra clave para crear una instancia del array.

Por ejemplo:

double[] balance = new double[10];

Asignación a arrays

Puede asignar un valor a un elemento individual del array mediante un número de índice, por ejemplo:

double[] balance = new double[10];
balance[0] = 4500.0;

Puede asignar valores al array al mismo tiempo que lo declara, por ejemplo:

double[] balance = { 2340.0, 4523.69, 3421.0};

También puede crear e inicializar un array, por ejemplo:

int [] marks = new int[5]  { 99,  98, 92, 97, 95};

En los casos anteriores, también puede omitir el tamaño del array, por ejemplo:

int [] marks = new int[]  { 99,  98, 92, 97, 95};

También puede asignar una variable de array a otra variable de array de destino. En este caso, el destino y el origen apuntarán a la misma ubicación de memoria:

int [] marks = new int[]  { 99,  98, 92, 97, 95};
int[] score = marks;

Cuando crea un array, el compilador de C# inicializa implícitamente cada elemento del array con un valor predeterminado según el tipo del array. Por ejemplo, todos los elementos de un array int se inicializan a 0.

Acceso a elementos de arrays

Se accede a los elementos mediante el nombre del array con un índice. Esto se logra colocando el índice del elemento entre corchetes después del nombre del array. Por ejemplo:

double salary = balance[9];

A continuación se muestra un ejemplo que utiliza los tres conceptos mencionados anteriormente: declaración, asignación y acceso a arrays:

Ejemplo

using System;
namespace ArrayApplication
{
   class MyArray
   {
      static void Main(string[] args)
      {
         int []  n = new int[10]; /* n es un array con 10 enteros */
         int i,j;


         /* Inicializa los elementos del array n */        
         for ( i = 0; i < 10; i++ )
         {
            n[ i ] = i + 100;
         }

         /* Muestra el valor de cada elemento del array */
         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 los siguientes resultados:

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 deforeachbucles

En el ejemplo anterior, utilizamos un bucle for para acceder a cada elemento del array. También puede utilizar una foreachsentencia para recorrer el array.

En el siguiente ejemplo, usamos foreach para recorrer un array:

Ejemplo

using System;

namespace ArrayApplication
{
   class MyArray
   {
      static void Main(string[] args)
      {
         int []  n = new int[10]; /* n es un array con 10 enteros */


         /* Inicializa los elementos del array n */        
         for ( int i = 0; i < 10; i++ )
         {
            n[i] = i + 100;
         }

         /* Muestra el valor de cada elemento del array */
         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 los siguientes resultados:

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

Detalles de arrays en C#

En C#, los arrays son muy importantes y es necesario conocer más detalles. A continuación se enumeran algunos conceptos importantes relacionados con los arrays que todo programador de C# debe conocer:

ConceptoDescripción
Arrays multidimensionalesC# admite arrays multidimensionales. La forma más simple de un array multidimensional es el array bidimensional.
Arrays escalonadosC# admite arrays escalonados, es decir, arrays de arrays.
Pasar arrays a funcionesPuede pasar a una función un puntero al array especificando el nombre del array sin índice.
Arrays de parámetrosEsto se utiliza generalmente para pasar una cantidad desconocida de parámetros a una función.
Clase ArrayDefinida en el espacio de nombres System, es la clase base de todos los arrays y proporciona diversas propiedades y métodos para los arrays.
Otras extensiones