An element-access consists of a primary-no-array-creation-expression, followed by a "[" token, followed by an expression-list, followed by a "]" token. The expression-list consists of one or more expressions, separated by commas. element-access : primary-no-array-creation-expression[expression-list]expression-list : expressionexpression-list,expression
If the primary-no-array-creation-expression of an element-access is a value of an array-type, the element-access is an array access (14.5.6.1). Otherwise, the primary-no-array-creation-expression must be a variable or value of a class, struct, or interface type that has one or more indexer members, in which case the element-access is an indexer access (14.5.6.2).