Matrices Unidimensionales en Lenguaje C#

Cree una matriz unidimensional mediante el operador new; para ello, especifique el tipo de elemento de matriz y el número de elementos. En el ejemplo siguiente se declara una matriz de cinco enteros:

C#

int[] array = new int[5];

Esta matriz contiene los elementos de array[0] a array[4]. Los elementos de la matriz se inicializan en el valor predeterminado del tipo de elemento, 0 para los enteros.

Las matrices pueden almacenar cualquier tipo de elemento que se especifique, como en el ejemplo siguiente, en el que se declara una matriz de cadenas:

C#

string[] stringArray = new string[6];

Inicialización de matriz

Puede inicializar los elementos de una matriz al declararla. El especificador de longitud no es necesario porque la medida se infiere a partir del número de elementos de la lista de inicialización. Por ejemplo:

C#

int[] array1 = new int[] { 1, 3, 5, 7, 9 };

En el código siguiente se muestra una declaración de una matriz de cadenas donde cada elemento de la matriz se inicializa mediante el nombre de un día:

C#

string[] weekDays = new string[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };

Puede evitar la expresión new y el tipo de matriz al inicializar una matriz en la declaración, tal como se muestra en el código siguiente. Esto se conoce como matriz con tipo implícito:

C#

int[] array2 = { 1, 3, 5, 7, 9 };
string[] weekDays2 = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };

Puede declarar una variable de matriz sin crearla, pero debe usar el operador new cuando asigne una nueva matriz a esta variable. Por ejemplo:

C#

int[] array3;
array3 = new int[] { 1, 3, 5, 7, 9 };   // OK
//array3 = {1, 3, 5, 7, 9};   // Error

Matrices de tipo de valor y tipo de referencia

Tenga en cuenta la siguiente declaración de matriz:

C#

SomeType[] array4 = new SomeType[10];

El resultado de esta instrucción depende de si SomeType es un tipo de valor o un tipo de referencia. Si es un tipo de valor, la instrucción crea una matriz de 10 elementos, y cada uno de ellos tiene el tipo SomeType. Si SomeType es un tipo de referencia, la instrucción crea una matriz de 10 elementos y cada uno de ellos se inicializa en una referencia nula. En ambas instancias, los elementos se inicializan en el valor predeterminado para el tipo de elemento. Para obtener más información sobre los tipos de valor y de referencia, consulte Tipos de valor Tipos de referencia.