【发布时间】:2023-03-23 07:14:01
【问题描述】:
我有一个 list 的记录很少,list 里面还有另一个 object。基于我使用的内部对象OrderByDescending。内部对象在少数地方是null,所以它正在抛出NullReferenceException。
items.OrderByDescending(i=> i.Obj_Announcement.CreatedDate).ToList()
当Obj_Announcement 为null 时,查询会引发异常。
不重复:我在 OrderByDescending 内有对象,而不是单个字段。
我该如何解决这个问题?
【问题讨论】:
-
要解决这个问题,您首先应该决定
null值应该如何排序。它们应该是最低的还是最高的? -
@RenéVogt - 我需要最新记录,这样我需要。
-
网络库不允许 DateTime 对象为空。通常我使用一个新的 DateTime,它将默认日期设置为 1/1/1。然后我通过检查日期是否大于 1/1/1 来测试 null。
-
您应该订购内部对象的 hasValue,然后按其值订购列表:
items.OrderByDescending(i=> i.Obj_Announcement.CreatedDate.HasValue).ThenByDescending(i=> i.Obj_Announcement.CreatedDate.Value)