我的一个同学问了这个问题,我想确定我告诉他的答案是正确的。基本上下面的代码(确实显示“6”作为答案)在到达 MessageBox.Show((i--).ToString()); 时让他感到困惑。
我的解释是递减操作 (i--) 实际上并没有发生,因为它被传递给 MessageBox 对象的 .Show 方法。所以它显示 6 因为它实际上并没有将该值减少 1。
这是正确的解释吗?我从来没有尝试过在同时显示值的同时抛出 inc/dec 操作,所以我不确定我的推理是否正确。谢谢!
int i = 6; // I starts as 6...
if (i >=4 ) // Then the check to see if i >= 4 is TRUE...
{
if( i == 5) // The check to see if i == 5 is FALSE...
{
MessageBox.Show(i.ToString());
}
else
{
MessageBox.Show((i--).ToString()); // ****
}
}
else
{
MessageBox.Show((i++).ToString());
}