【发布时间】:2018-01-20 18:49:11
【问题描述】:
我读过的几乎每一篇博客都说编译器标记错误“使用未分配的局部变量”说明了它的设计决定,因为历史表明未分配的变量是错误的来源,编译器希望阻止你这样做。
我不确定分配给局部变量如何帮助我不注入错误甚至减少引入错误的机会。
我可以分配一个局部变量作为某个方法的返回值,该方法可能有错误并最终导致错误的分配。所以我不认为编译器在这个意义上对我有帮助。如果设计人员决定考虑未分配的局部变量的默认值,开发人员会处理它并且在“可能引入错误”的情况下会是相同的,不是吗?
谢谢!!
【问题讨论】:
-
这个问题太笼统了。对于大多数人来说,很明显为什么GIGO 适用并且应该避免使用。对于那些不明显的人来说,堆栈溢出的答案要引导某人解决问题需要比合理的空间更多的空间。
-
未赋值的变量可能意味着其定义中的拼写错误。如果代码中使用了未定义变量但拼写正确,则错误将是“未定义变量”。但是程序员会认为他们已经定义了它。他们没有,因为他们在定义中拼错了它。添加未分配变量警告将突出显示拼写错误的行。
标签: c# language-design local-variables