c#中 i=i++;的结果很奇怪 谁能帮我解释一下?
在学习c#时,发现 i=i++;的结果很奇怪 ,具体代码如下:
int i=10;
i=i++;
结果竟然还是 i=10;
按理说,先赋值,再加一,结果应该是i=11;但是结果却是i=10;感觉很是费解,各位高手, 谁能帮我解释一下?谢谢!
[解决办法]
假设代码
- C# code
int i=10;i=(i++)*2;
[解决办法]
c#解释 i=i++; 相当于这样
int i=10;
int tmp = i;
i=i+1;
i=tmp;
[解决办法]
i = i++;
1. 取出 i 的值
2. i 自增
3. i = 刚刚取出来的值
所以 i 最终还是原来的值