我对C#运算符优先级有疑问。
我在文档中已经读到,后缀增量(x++
)的优先级高于前缀增量(++x
),因此在此代码中结果必须为2,但显示为0。
int x = 10;
int y = ++x - x++;
首先执行x++
,所以我们有:
// x = 11;
int y = ++x - 10;
然后执行++x
,我们有:
// x = 12;
int y = 12 - 10;
但是显示结果为0。
我读到-必须首先评估,但是-优先级比x ++低。
请不要提及其他主题。
解释这个具体的例子
发生了什么事?