c# - 变量为空,但右手不为空
问题描述
在调试时,我注意到一些奇怪的事情:
结果 var 在鼠标悬停和手表中都显示为 null,但右侧实际上返回非 null 值,如您在手表中看到的那样。
任何想法为什么?
编辑:结果变量也在 IF 语句中声明,如下所示:
if (somethingIsTrue) { var result = xxx; }
else { var result = yyy; }
一旦我将第二个结果重命名为其他结果,一切都开始正确显示。
解决方案
当你的代码是这样的
if (somethingIsTrue) { var result = xxx; } else { var result = yyy; }
然后在该 if 语句的范围内(重新)声明该“结果”变量。这意味着该值仅在该块内可用。
解决方案:在块之外声明变量(如果你还没有这样做的话)并删除'if'和'else'块内的'var'
推荐阅读
- javascript - 如何忽略 Vanilla JavaScript 中的错误
- visual-studio-code - VS代码:按tab键自动完成将退出终端
- python - 不能使用 matplotlib 变换来旋转轴和散点图
- c - 使用 dup2() 写入文件后如何清理文件描述符?
- python - 在循环的每次迭代中更新球的位置
- reactjs - 目标容器不是 DOM 元素 - 导入函数时出错
- android - 点击激活按钮
- java - 在我的物理设备上运行应用程序时出错
- javascript - 使用 nodejs 从 MariaDB 获取数据并将它们发送到 html 页面(Express JS)
- postfix-mta - opendkim [8143]:initgroups():不允许操作