【发布时间】:2015-11-29 01:22:29
【问题描述】:
首先我确实尝试了这个,我的代码:
timeReports = timeReports.OrderByDescending(x => x.Date)
.ThenByDescending(x => x.TimeReportDatas.First().StartHour)
.ToList();
但是在我的项目中,我所有的项目都没有TimeReportDatas,所以它确实崩溃了,因为它不包含任何元素。
所以我把代码改成这样:
timeReports = timeReports.OrderByDescending(x => x.Date).ThenByDescending(x =>
{
TimeReportData firstOrDefault = x.TimeReportDatas.FirstOrDefault();
if (firstOrDefault != null)
return firstOrDefault.StartHour;
}).ToList();
但是我留下了以下错误:
并非所有代码路径都返回类型为 lambda 表达式的值 '功能'
【问题讨论】:
-
if (firstOrDefault != null) ... else ?
-
当
firstOrDefault是null时,你的lambda 会返回什么?