2016-02-29 117 views
-1

我想通過使用linq來排列我的客戶的最後一個訂單。C#Linq OrderBy

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

我在這裏的問題是,對於某些客戶LastOrderNULL

我怎樣才能解決這個問題?

+0

是否要包含這些客戶或從排序列表中排除它們? –

+0

是的,我想包括他們 –

+0

@陽光男孩 - 他們應該在哪裏坐?你是按這些日期升序還是降序排序? –

回答

1

試試這個:

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

你需要根據你想如何訂購null項目DateTime.MaxValueDateTime.MinValue之間做出選擇。

0

你必須處理空的情況:

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