如何检查lambda表达式中的日期是否为空,并且仅当它为null时才使用todays date

时间:2017-01-26 22:42:18

标签: c# asp.net lambda

所以我有两列。 date_from永远不会为空,date_to可以为空。

当它为null时,我想使用今天的日期而不是null。当它不为null时,我想使用列的日期。

这是我正在使用的lambda。

serv_plus_Addons MarkupOnParts = db.serv_plus_Addons.Where(w =>  
    w.addon_name.ToLower() == "markup on parts" 
    && w.sdealer_number == sdealer_number 
    && w.date_to <= dtcontract_sale_date 
    && w.date_from >= dtcontract_sale_date
).FirstOrDefault();

1 个答案:

答案 0 :(得分:5)

使用null coalescence ?? Operator (C# Reference)

w.date_to ?? DateTime.Today

这意味着如果date_to不是null则使用date_to,否则请使用DateTime.Today

另一种方式是通过

w.date_to != null ? w.date_to : DateTime.Today