考虑以下C#代码: -
int i = 2;
i = i++;
Console.WriteLine(i);
我的输出为2
。为什么i = i++
无效?
答案 0 :(得分:0)
根据您放置+
- 运算符的位置,分配的值会在之前或之后递增:
i = ++i;
这种方式i
会在分配之前计算在内。
i = i++;
这种方式i
在分配后计算在内。
答案 1 :(得分:0)
因为=
运算符优先。
MSDN:Operator precedence and associativity.
试试这个:
int i = 2;
i = ++i; // or write just ++i;
Console.WriteLine(i);