int[] a = {0, 2, 4, 6, 8};end example] it is simply shorthand for an equivalent array creation expression: [Example:

int[] a = new int[] {0, 2, 4, 6, 8};end example] 5 For a single-dimensional array, the array initializer must consist of a sequence of expressions that are assignment compatible with the element type of the array. 6 The expressions initialize array elements in increasing order, starting with the element at index zero. 7 The number of expressions in the array initializer determines the length of the array instance being created. [Example: For example, the array initializer above creates an int[] instance of length 5 and then initializes the instance with the following values:

a[0] = 0; a[1] = 2; a[2] = 4; a[3] = 6; a[4] = 8;end example] 8 For a multi-dimensional array, the array initializer must have as many levels of nesting as there are dimensions in the array. 9 The outermost nesting level corresponds to the leftmost dimension and the innermost nesting level corresponds to the rightmost dimension. 10 The length of each dimension of the array is determined by the number of elements at the corresponding nesting level in the array initializer. 11 For each nested array initializer, the number of elements must be the same as the other array initializers at the same level. [Example: The example:

int[,] b = {{0, 1}, {2, 3}, {4, 5}, {6, 7}, {8, 9}};creates a two-dimensional array with a length of five for the leftmost dimension and a length of two for the rightmost dimension:

int[,] b = new int[5, 2];and then initializes the array instance with the following values:

b[0, 0] = 0; b[0, 1] = 1; b[1, 0] = 2; b[1, 1] = 3; b[2, 0] = 4; b[2, 1] = 5; b[3, 0] = 6; b[3, 1] = 7; b[4, 0] = 8; b[4, 1] = 9;end example] 12 When an array creation expression includes both explicit dimension lengths and an array initializer, the lengths must be constant expressions and the number of elements at each nesting level must match the corresponding dimension length. [Example: Here are some examples:

int i = 3; int[] x = new int[3] {0, 1, 2}; // OK int[] y = new int[i] {0, 1, 2}; // Error, i not a constant int[] z = new int[3] {0, 1, 2, 3}; // Error, length/initializer mismatchHere, the initializer for y results in a compile-time error because the dimension length expression is not a constant, and the initializer for z results in a compile-time error because the length and the number of elements in the initializer do not agree. end example]

| |

Jagger Software Ltd | |

Company # 4070126 | |

VAT # 762 5213 42 |