Array creation

Array instances are created by array-creation-expressions (14.5.10.2) or by field or local variable declarations that include an array-initializer (19.6).
When an array instance is created, the rank and length of each dimension are established and then remain constant for the entire lifetime of the instance. In other words, it is not possible to change the rank of an existing array instance, nor is it possible to resize its dimensions.
An array instance is always of an array type. The System.Array type is an abstract type that cannot be instantiated.
Elements of arrays created by array-creation-expressions are always initialized to their default value (12.2).