我在产品表中有dateSend Column和dateEdit Column,我可以使用以下代码选择max dateSend:
(from pro in Products.ToList()
select new { pro.DateSend }).Max();
Run Code Online (Sandbox Code Playgroud)
但我在dateSend和dateEdit之间有最大值,请帮帮我.
(from pro in Products.ToList()
let max = Max(pro.DateSend, pro.DateEdit)
select max).Max()
static DateTime? Max(DateTime? a, DateTime? b)
{
if (!a.HasValue && !b.HasValue) return a; // doesn't matter
if (!a.HasValue) return b;
if (!b.HasValue) return a;
return a.Value > b.Value ? a : b;
}
Run Code Online (Sandbox Code Playgroud)
如果你不反对放弃查询语法,那么更简单:
DateTime max = Products.Max(p=>p.DateSend > p.DateEdit ? p.DateSend : p.DateEdit);
Run Code Online (Sandbox Code Playgroud)