首页 > 解决方案 > 变量为空,但右手不为空

问题描述

在调试时,我注意到一些奇怪的事情:

在此处输入图像描述

结果 var 在鼠标悬停和手表中都显示为 null,但右侧实际上返回非 null 值,如您在手表中看到的那样。

任何想法为什么?

编辑:结果变量也在 IF 语句中声明,如下所示:

if (somethingIsTrue) { var result = xxx; }
else { var result = yyy; }

一旦我将第二个结果重命名为其他结果,一切都开始正确显示。

标签: c#visual-studiodebuggingvisual-studio-2017

解决方案


当你的代码是这样的

if (somethingIsTrue) { var result = xxx; } else { var result = yyy; }

然后在该 if 语句的范围内(重新)声明该“结果”变量。这意味着该值仅在该块内可用。

解决方案:在块之外声明变量(如果你还没有这样做的话)并删除'if'和'else'块内的'var'


推荐阅读