首页 > 解决方案 > Visual Studio调试模式下Watch上显示的变量值

问题描述

在此处输入图像描述

在此处输入图像描述

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

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

如果是这样,我会感到困惑,因为如果我们将其放在Console.WriteLine(a);第 12 行之后,则会出现错误,因为此时尚未声明变量 a。

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

非常感谢!

标签: c#visual-studiowatch

解决方案


推荐阅读