我有一个名为 BoughtDate
的可为 null 的 Date 属性。
我正在尝试以下操作:
if( item.BoughtDate.Value.Equals( DateTime.MaxValue) ) item.BoughtDate= null;
也试过这个:
if( item.BoughtDate.Equals( DateTime.MaxValue) ) item.BoughtDate=null;
调试时,我的 BoughtDate
和 DateTime.MaxValue
看起来完全一样 - 但它说它不一样(不设置我的 item.BoughtDate
为空)
为什么我的比较不起作用?
最佳答案
正如@PaulSuart 在评论中指出的那样,问题可能在于毫秒精度。 DateTime.MaxValue.TimeOfDay
是 {23:59:59.9999999}
,但是你的 BoughtDate.TimeOfDay
可能是 {23:59: 59.9990000}
,所以他们不相等。
我会做的只是比较日期,我认为在大多数情况下这就足够了:
if( item.BoughtDate.Value.Date.Equals( DateTime.MaxValue.Date) ) item.BoughtDate= null;
关于c# - 与 MaxValue 的日期比较不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44324689/