请帮助我理解为什么如果我的运行为空,第二行会返回异常。 即使我的某些时间表没有运行,我也可以使用maxDate
var maxDate = schedulingList.Max(p => p.Runs.Max(x => x.StartDate));
var minDate = schedulingList.Min(s => s.Runs.Min(r => r.StartDate));
获取minDate的最佳方法是什么(null是可行的)? 非常感谢提前
答案 0 :(得分:0)
您可以选择所有日期,在其上执行DefaultIfEmpty,然后获取最小值和最大值。
DefaultIfEmpty
方法将确保您至少拥有一项https://msdn.microsoft.com/en-us/library/bb360179(v=vs.110).aspx
var dates = schedulingList.SelectMany(p=>p.Runs.Select(t=>t.startDate)).DefaultIfEmpty();
var maxDate = dates.Max();
var minDate = dates.Min();
答案 1 :(得分:-1)
var minDate = schedulingList.Min(s => s.Runs.Min(r => r.StartDate))。FirstorDefault();
希望这项工作,