您以前尝试过吗?static void Main(string[] args){ int x = 10; x = x++; Console.WriteLine(x);}输出:10。但对于static void Main(string[] args){ int x = 10; x++; Console.WriteLine(x);}输出:11。谁能解释为什么呢?
3 回答
慕哥6287543
TA贡献1831条经验 获得超10个赞
在分配中,x = x++您首先提取x用于评估右侧表达式的旧值,在本例中为'x';然后,增加x1。最后,x通过赋值语句将表达式求值(10)的结果赋值给。
也许等效的代码可以使困境变得清楚:
var tmp = x;
x++;
x = tmp;
这等效x = x++于C#中的代码。
- 3 回答
- 0 关注
- 794 浏览
添加回答
举报
0/150
提交
取消