私のクラスメートがこの質問をしました、そして私は彼に正しい答えを言っていることを確認したかったのです。基本的に、以下のコード(実際に答えとして「6」を表示します)は、MessageBox.Show((i-)。ToString());に到達したときに彼を混乱させました。
私の説明では、デクリメント操作(i--)は、MessageBoxオブジェクトの.Showメソッドに渡されているため、実際には実行されていません。つまり、実際にはその値を1減らしていないため、6が表示されます。
これは正しい説明ですか?値を同時に表示しながら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());
}