An array instance creation expression is used to create new arrays (§10).
ArrayCreationExpression:
new
PrimitiveTypeDimExprs
Dimsopt
new
TypeNameDimExprs
Dimsopt DimExprs:
DimExpr
DimExprsDimExpr DimExpr:
[
Expression]
Dims:
[ ]
Dims
[ ]
An array creation expression creates an object that is a new array whose elements are of the type specified by the PrimitiveType or TypeName. The TypeName may name any reference type, even an abstract
class type (§8.1.2.1) or an interface type (§9).
The type of the creation expression is an array type that can denoted by a copy of the creation expression from which the new
keyword and every DimExpr expression have been deleted; for example, the type of the creation expression:
new double[3][3][]
double[][][]
The type of each dimension expression DimExpr must be an integral type, or a compile-time error occurs. Each expression undergoes unary numeric promotion (§5.6.1). The promoted type must be int
, or a compile-time error occurs; this means, specifically, that the type of a dimension expression must not be long
.