Primary expressions include the simplest forms of expressions. primary-expression: array-creation-expression primary-no-array-creation-expression primary-no-array-creation-expression: literal simple-name parenthesized-expression member-access invocation-expression element-access this-access base-access post-increment-expression post-decrement-expression object-creation-expression delegate-creation-expression typeof-expression checked-expression unchecked-expression Primary expressions are divided between array-creation-expressions and primary-no-array-creationexpressions. Treating array-creation-expression in this way, rather than listing it along with the other simple expression forms, enables the grammar to disallow potentially confusing code such as C# LANGUAGE SPECIFICATION 138 object o = new int[3][1]; which would otherwise be interpreted as object o = (new int[3])[1];
|