An element-access consists of a primary-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.
If the primary-expression of an element-access is a value of an array-type, the element-access is an array access (§7.5.6.1). Otherwise, the primary-expression must be a variable or value of a class, struct, or interface type that has one or more indexer members, and the element-access is then an indexer access (§7.5.6.2).