FirstOrDefault内联空检查
本文关键字:检查 FirstOrDefault | 更新日期: 2023-09-27 18:09:44
我有以下代码:
var result = new Collection<object>();
result.Add(
list.Select(s => new
{
s.Name,
Rating = s.Performance.OrderByDescending(o => o.Year).FirstOrDefault().Rating
})
);
如果在Performance
中没有发现记录,它会给我NullException
,这是预期的,因为我试图从null
值获得Rating
属性,所以我的问题是如何设置null
,如果FirstOrDefault()
是null
,并获得Rating
值,如果不是。
谢谢
这样做:
Rating = s.Performance.OrderByDescending(o => o.Year)
.Select(o => o.Rating)
.FirstOrDefault()
您可以使用Enumerable。DefaultIfEmpty方法
Rating = s.Performance.OrderByDescending(o => o.Year)
.Select(o => o.Rating)
.DefaultIfEmpty(0)
.First()