在此代码上出现此错误:
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;
您可能需要进行进一步的空值检查。