此代码打破我认为,因为有时间在SubmittedDt和DateTimeToday。我该如何解决这个问题,只是按日期而不是时间来过滤。比较日期没有时间Lambda
DailyOrder todaysOrderNotReset = dailyOrders.Where(x => x.SubmittedDt == DateTime.Today && x.IsResetDone == false).First();
此代码打破我认为,因为有时间在SubmittedDt和DateTimeToday。我该如何解决这个问题,只是按日期而不是时间来过滤。比较日期没有时间Lambda
DailyOrder todaysOrderNotReset = dailyOrders.Where(x => x.SubmittedDt == DateTime.Today && x.IsResetDone == false).First();
x.SubmittedDt
应该
x.SubmittedDt.Date
...虽然你并不真的需要Where
因为第一(或FirstOrDefault)应该处理你想要什么。
dailyOrders.First(x => x.SubmittedDt.Date == DateTime.Today && x.IsResetDone == false);
试试这个
DailyOrder todaysOrderNotReset = dailyOrders.Where(x => x.SubmittedDt.Date == DateTime.Today && x.IsResetDone == false).First();
DateTime today = DateTime.Today;
DailyOrder todaysOrderNotReset = dailyOrders.First(x =>
x.SubmittedDt.Date == today && x.IsResetDone == false);
当比较当前日期/时间对项目的集合,你最好先阅读当前日期/时间到一个局部变量,然后用为您的比较提供一致的价值。否则,在执行过程中出现一个小的风险,即现在的日期/时间会发生变化,并产生意想不到的结果。
...以及'DateTime.Today.Date'。 – BeemerGuy
'DateTime.Today.Date'是不必要的,因为'Today'已经没有时间了。 –
哦....你是对的;我刚刚尝试过,从未给过它一个想法。 – BeemerGuy