Visual Studio调试模式下Watch上显示的变量值

时间:2021-07-17 05:55:37

标签: c# visual-studio watch

enter image description here

enter image description here

如您所见,在第 11 行执行时,变量 a、b、c 和 d 不存在,但是一旦执行到第 12 行,所有这些变量都设置为其默认值(根据 Watch 1 上显示的内容)。

因此,我是否可以得出结论,一旦执行进入作用域,即使在执行到达声明之前,所有对该作用域可见的变量都将设置为其默认值?

如果是这样,我很困惑,因为如果我们把 Console.WriteLine(a); 放在第 12 行之后,它会给出一个错误,因为变量 a 在那个时候还没有被声明。

那么我可以问一下为什么手表显示变量 a、b、c 和 d 在第 12 行已经有(默认)值?更具体地说,如果变量 a、b、c 和 d不存在,也没有在第 12 行分别设置为 0、false、0 和 null,为什么手表会显示这些信息?

非常感谢!

0 个答案:

没有答案