|
|
1
19
后增量操作是计算整个表达式的一部分。这是一种副作用,它发生在计算值之后,但在计算任何其他表达式之前。 换句话说,对于任何表达式E,E++(如果合法)表示类似(伪代码):
那是 评估E++的一部分,然后再评估其他内容。 有关更多详细信息,请参见C#3.0规范第7.5.9节。 之前 对RHS进行了评估。 在你的例子中:
相当于:
|
|
|
2
5
对于第一个代码段,顺序是:
对于第二个代码段,计算仍然是从左到右的。
|
|
|
3
2
|
|
|
4
0
我希望post increment操作符在使用变量的值后对其进行递增。 在这种情况下,变量在第二次引用变量之前递增。
如果它像你说的那样,那么你可以删除增量操作符,因为它实际上什么都不做,在我报告的指令中。 |
|
5
0
你必须分三步思考作业:
然后首先运行A(),然后运行C(),然后运行属性设置器B。 本质上,你必须把你的陈述看作
|
|
|
6
-4
原因可能是一些编译器将i++优化为+i。大多数情况下,最终结果都是一样的,但在我看来,这是编译器出错的少数情况之一。 我现在无法访问VisualStudio来确认这一点,但请尝试禁用代码优化,看看结果是否会保持不变。 |