12.3.3.20 General rules for expressions with embedded expressions
The following rules apply to these kinds of expressions: parenthesized
expressions (?4.5.3), element access
expressions (?4.5.6), base access expressions with indexing (?4.5.8),
increment and decrement
expressions (?4.5.9, ?4.6.5), cast expressions (?4.6.6), unary +, -, ~,
* expressions, binary +, -, *, /, %,
<<, >>, <, <=, >, >=, ==, !=, is, as, &, |, ^ expressions (?4.7, ?4.8, ?4.
9, ?4.10), compound
Chapter 12 Variables
109
assignment expressions (?4.13.2), checked and unchecked expressions (?4.5.1
2), array and delegate
creation expressions (?4.5.10).
Each of these expressions has one or more sub-expressions that are
unconditionally evaluated in a fixed
order. [Example: For example, the binary % operator evaluates the left hand
side of the operator, then the
right hand side. An indexing operation evaluates the indexed expression,
and then evaluates each of the
index expressions, in order from left to right. end example] For an
expression expr, which has subexpressions
expr1, expr2, ..., exprn, evaluated in that order:
?The definite assignment state of v at the beginning of expr1 is the same
as the definite assignment
state at the beginning of expr.
?The definite assignment state of v at the beginning of expri (i greater
than one) is the same as the
definite assignment state at the end of expri-1.
?The definite assignment state of v at the end of expr is the same as the
definite assignment state at
the end of exprn.
The following rules apply to these kinds of expressions: parenthesized
expressions (?4.5.3), element access
expressions (?4.5.6), base access expressions with indexing (?4.5.8),
increment and decrement
expressions (?4.5.9, ?4.6.5), cast expressions (?4.6.6), unary +, -, ~,
* expressions, binary +, -, *, /, %,
<<, >>, <, <=, >, >=, ==, !=, is, as, &, |, ^ expressions (?4.7, ?4.8, ?4.
9, ?4.10), compound
Chapter 12 Variables
109
assignment expressions (?4.13.2), checked and unchecked expressions (?4.5.1
2), array and delegate
creation expressions (?4.5.10).
Each of these expressions has one or more sub-expressions that are
unconditionally evaluated in a fixed
order. [Example: For example, the binary % operator evaluates the left hand
side of the operator, then the
right hand side. An indexing operation evaluates the indexed expression,
and then evaluates each of the
index expressions, in order from left to right. end example] For an
expression expr, which has subexpressions
expr1, expr2, ..., exprn, evaluated in that order:
?The definite assignment state of v at the beginning of expr1 is the same
as the definite assignment
state at the beginning of expr.
?The definite assignment state of v at the beginning of expri (i greater
than one) is the same as the
definite assignment state at the end of expri-1.
?The definite assignment state of v at the end of expr is the same as the
definite assignment state at
the end of exprn.
博客介绍了嵌入式表达式的通用规则,涉及括号表达式、元素访问表达式等多种类型。每种表达式有一个或多个子表达式,按固定顺序无条件求值,还说明了表达式中变量的确定赋值状态在不同阶段的情况。
159

被折叠的 条评论
为什么被折叠?



