什么是NullReferenceException,如何解决?


当前第2页 返回上一页

进一步来说

该runtime扔NullReferenceException 总是意味着同样的事情:你要使用的引用,引用未初始化(或它一次初始化,但不再初始化)。 

这意味着引用为null,并且您无法通过null引用访问成员(例如方法)。

最简单的情况:

string foo = null;
foo.ToUpper();

这将NullReferenceException在第二行抛出,因为您无法ToUpper()在string指向的引用上调用实例方法null。

调试

您如何找到来源NullReferenceException?除了查看将要引发的异常本身之外,Visual Studio中的调试一般规则也适用:放置战略断点并检查变量,方法是将鼠标悬停在它们的名称上,然后打开(快速)监视窗口或使用各种调试面板(例如本地和自动)。 如果要查找在哪里设置或未设置引用,请右键单击其名称,然后选择“查找所有引用”。然后,可以在每个找到的位置放置一个断点,并在连接了调试器的情况下运行程序。调试器每次在这样的断点处中断时,都需要确定是否希望引用为非空,检查变量,并在期望时验证它是否指向实例。 

通过以这种方式遵循程序流程,您可以找到实例不应为null的位置以及未正确设置实例的原因。

本文翻译至stackoverflow,内容略有出入,原文地址:https://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it,侵删。

返回前面的内容

相关阅读 >>

什么是NullReferenceException,如何解决?

更多相关阅读请进入《NullReferenceException》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...