我有以下代码从列表中获取值。
GetList().SingleOrDefault(x => x.Key == "MyKey").MyValue;
当列表中有Key
个属性为MyKey
的属性时,它工作正常,但是当列表中没有Key
个属性为MyKey
的属性时,则抛出NullReferenceException
。如何返回空值而不是异常。
System.NullReferenceException
HResult=0x80004003
Message=Object reference not set to an instance of an object.
答案 0 :(得分:5)
使用?。和?[] null-conditional运算符。在执行成员访问(?。)或索引(?[])操作之前,它将测试左侧操作数的值为null。如果左侧操作数的计算结果为null,则返回null。
resources/views/backpack/crud/inc/datatables_logic.blade.php
答案 1 :(得分:2)
您可以使用以下代码
var result = GetList().SingleOrDefault(x => x.Key == "MyKey");
if(result != null)
{
//Add your logic
}
答案 2 :(得分:1)
在LINQ中处理Null的更安全方法。
na.rm=TRUE