jas*_*son 0 c# nullreferenceexception
我有这条线:
myobject.Ada = result.FirstOrDefault(m => m.Name == "Ada No").Value;
Run Code Online (Sandbox Code Playgroud)
有时结果没有"Ada No",我得到了
你调用的对象是空的.
我编写了一个if语句来避免空引用异常:
if(result.FirstOrDefault(m => m.Name == "Ada No").Value != null)
{
myobject.Ada = result.FirstOrDefault(m => m.Name == "Ada No").Value;
}
Run Code Online (Sandbox Code Playgroud)
但它也没有用.如何在这段代码中避免此异常?如果Ada No存在,工作,如果不工作,我怎么写?谢谢.
FirstOrDefault如果没有任何符合条件的对象,则返回null.当代码试图访问设置为null的引用类型变量的成员时,将抛出异常.因此,在访问对象之前,必须检查对象的值是否为null.
如果您使用的是C#6.0,则可以使用null-propagation运算符:
myobject.Ada = result.FirstOrDefault(m => m.Name == "Ada No")?.Value;
Run Code Online (Sandbox Code Playgroud)
或者如果您使用的是较低版本:
var firstObj = result.FirstOrDefault(m => m.Name == "Ada No");
if(firstObj != null)
{
myobject.Ada = firstObj.Value;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
768 次 |
| 最近记录: |