在此代码上出现此错误:
string pname = null;
pname = ag.FirstOrDefault().arrangement.parent.name;
当调用行 pname = ag.FirstOrDefault.....
归档的 parent.name 为空(null),这很好,我想在这种情况下得到一个空(null)字符串。我怎样才能摆脱错误?
在此代码上出现此错误:
string pname = null;
pname = ag.FirstOrDefault().arrangement.parent.name;
当调用行 pname = ag.FirstOrDefault.....
归档的 parent.name 为空(null),这很好,我想在这种情况下得到一个空(null)字符串。我怎样才能摆脱错误?
要么ag
为空,FirstOrDefault
调用返回空,要么为空,arrangement
要么parent
为空。
只有您能够确定其中哪一个实际上是罪魁祸首。
If the property ag.FirstOrDefault().arrangement.parent.name is null it means the object ag is null also. This is the reason you are getting object reference error.
The answer Leons provided is actually what I was going to suggest. You need to do some research on the problem its one of the simplest thing to avoid ( trying to reference a null object ) in programming.
尝试
var obj = ag.FirstOrDefault();
if( obj !=null)
pname = obj.arrangement.parent.name ?? String.Empty;
或者你可以试试
//This will set the variable to null:
var obj = ag.FirstOrDefault();
if( obj !=null)
pname = Convert.ToString(obj.arrangement.parent.name);
注意: ag.FirstOrDefault().arrangement.parent.name 是可为空的类型
您不能访问空对象的属性。如果 ag.FirstOrDefault() 将返回 null,那么您将无法访问arrangement
.
var temp = ag.FirstOrDefault();
string pname = (temp!= null) ? temp.arrangement.parent.name : null;
您可能需要进行进一步的空值检查。