Es posible inicializar una matriz en el momento de su declaración, en cuyo caso, no es necesario el especificador de rango ya que éste viene dado por el número de elementos de la lista de inicialización. Por ejemplo:
int[] array1 = new int[] { 1, 3, 5, 7, 9 };
Una matriz de cadena se puede inicializar del mismo modo. A continuación, se muestra una declaración de una matriz de cadena en la que cada elemento de la matriz se inicializa con el nombre de un día de la semana:
string[] weekDays = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
Cuando inicializa una matriz en el momento de su declaración, puede utilizar los siguientes métodos abreviados:
int[] array2 = { 1, 3, 5, 7, 9 };
string[] weekDays2 = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
Es posible declarar una variable de matriz sin inicializarla, pero se debe utilizar el operador new al asignar una matriz a esta variable. Por ejemplo:
int[] array3;
array3 = new int[] { 1, 3, 5, 7, 9 }; // OK
//array3 = {1, 3, 5, 7, 9}; // Error
C# 3.0 presenta matrices con tipo implícito. Para obtener más información, vea Matrices con asignación implícita de tipos (Guía de programación de C#).