【发布时间】:2014-09-03 05:08:30
【问题描述】:
我有以下代码
int a = 1, n = 1;
Convert.ToInt32(a = a++ + n--);
Console.WriteLine("a: " + a + " n : " + n);
//If you debug the second line of the code in quick watch the answer is 3.
上面代码的答案应该是 2,所以它是。但是,如果我调试它并在 quickwatch 中看到值,则打印 a 的值 3。知道为什么相同的代码会产生两个不同的值。
【问题讨论】:
-
它为我显示 2。
-
@Partha 调试它并在快速观察中查看值,然后是 3
-
我的观察是,在该行上的代码执行之前,该行上的断点被命中。您应该按键盘上的 F10 来执行代码行,然后您将看到变量包含预期值。
-
我认为@MuneebZulfiqar 对此是正确的。当调试时该行突出显示时,您需要按 F10 以过去该行以便执行其代码。