Single-Dimensional Arrays (C# Programming Guide)
You can declare an array of five integers as in the following example:
This array contains the elements from array[0] to array[4]. The new operator is used to create the array and initialize the array elements to their default values. In this example, all the array elements are initialized to zero.
An array that stores string elements can be declared in the same way. For example:
It is possible to initialize an array upon declaration, in which case, the rank specifier is not needed because it is already supplied by the number of elements in the initialization list. For example:
A string array can be initialized in the same way. The following is a declaration of a string array where each array element is initialized by a name of a day:
When you initialize an array upon declaration, it is possible to use the following shortcuts:
int[] array2 = { 1, 3, 5, 7, 9 }; string[] weekDays2 = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
It is possible to declare an array variable without initialization, but you must use the new operator when you assign an array to this variable. For example:
Consider the following array declaration:
The result of this statement depends on whether SomeType is a value type or a reference type. If it is a value type, the statement results in creating an array of 10 instances of the type SomeType. If SomeType is a reference type, the statement creates an array of 10 elements, each of which is initialized to a null reference.
For more information on value types and reference types, see Types (C# Reference).
Unlike in C/C++, initialization lists, if specified along with the rank specifier, must initialize all elements of the array.
For example, the following declaration results in a compilation error:
[C#]
int[] values = new int[3] { 1, 2 }; // CS0178 Invalid rank specifier: expected ',' or ']'
Whereas the following compiles without error:
[C#]
int[] values = new int[3] { 1, 2, 3 }; // OK
- 8/22/2007
- David M. Kean
- 6/29/2009
- Phil Zhou