C# Linq OrderBy

本文关键字:OrderBy Linq | 更新日期: 2023-09-27 18:36:37

我正在尝试使用 linq 按客户的最后订单对客户进行排序。

_list = _data.OrderBy(adress => adress.LastOrder.Date);

我的问题是,对于某些客户来说,LastOrderNULL

如何解决这个问题?

C# Linq OrderBy

试试这个:

_list = _data.OrderBy(adress =>
    adress.LastOrder == null
        ? DateTime.MaxValue
        : adress.LastOrder.Date);

您需要在DateTime.MaxValueDateTime.MinValue之间进行选择,具体取决于您要如何订购null商品。

您必须处理空情况:

var orderedByLastOrder = _data
    .OrderBy(x => x.LastOrder == null ? DateTime.MinValue : x.LastOrder.Date);