此代碼打破我認爲,因爲有時間在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