This question already has answers here:
What is a NullReferenceException, and how do I fix it?
(29个答案)
3年前关闭。
我有一个程序,在其中我不断收到NullReferenceException错误。这是导致错误的代码:
我浏览了这篇文章(What is a NullReferenceException and how do I fix it?),并尝试了几种解决方案(恐怕我对这些解决方案的理解还不够多,无法尝试使用它们),但我只是想不通为什么正在发生。据我了解,发生此错误是因为字符串实际上为空。
我的Google日历上有一些事件没有输入描述,因此描述为null,但是我所拥有的代码不应该检查并处理吗?还是在我调用IsNullOrEmpty方法时eventItem.Description.ToString()不能为null的问题?我也尝试将if语句更改为此:
...但是我仍然收到NRE错误。我已经尝试过用多种方法重写代码,但是没有任何效果。我在尽头!
在DStanley在评论中指出.ToString()== null比较将是不必要的之后进行更新。
只是为了帮助您更好地理解... NullReferenceException基本上意味着您正在尝试使用某些对象而不实例化它。防止这种情况的最简单方法之一是,如果不确定对象是否不为null,则添加null检查。当我说添加一个空检查时,它只是意味着在访问对象的任何属性之前,在if块中与null进行比较。
(29个答案)
3年前关闭。
我有一个程序,在其中我不断收到NullReferenceException错误。这是导致错误的代码:
string description = "";
if (string.IsNullOrEmpty(eventItem.Description.ToString()))
{
description = "No description available.";
}
else
{
description = eventItem.Description.ToString();
}
我浏览了这篇文章(What is a NullReferenceException and how do I fix it?),并尝试了几种解决方案(恐怕我对这些解决方案的理解还不够多,无法尝试使用它们),但我只是想不通为什么正在发生。据我了解,发生此错误是因为字符串实际上为空。
我的Google日历上有一些事件没有输入描述,因此描述为null,但是我所拥有的代码不应该检查并处理吗?还是在我调用IsNullOrEmpty方法时eventItem.Description.ToString()不能为null的问题?我也尝试将if语句更改为此:
if (eventItem.Description.ToString() == null)
...但是我仍然收到NRE错误。我已经尝试过用多种方法重写代码,但是没有任何效果。我在尽头!
最佳答案
您的eventItem
本身可能为空。顺其自然
if ( eventItem!= null && eventItem.Description != null && eventItem.Description.ToString() == null)
在DStanley在评论中指出.ToString()== null比较将是不必要的之后进行更新。
if ( eventItem!= null && eventItem.Description != null)
{
}
只是为了帮助您更好地理解... NullReferenceException基本上意味着您正在尝试使用某些对象而不实例化它。防止这种情况的最简单方法之一是,如果不确定对象是否不为null,则添加null检查。当我说添加一个空检查时,它只是意味着在访问对象的任何属性之前,在if块中与null进行比较。
if( objectName != null)
{
//then do something on the object
}