我有一个自定义对象的类型集合,有两个DateTime?properties,ExpirationDate和ExpirationDateExtended.我想根据这些属性从这个集合中获取最新信息.通常,使用一个属性,我只使用OrderByDescending方法并获取第一个属性.这在下面说明.
但是,我想要做的是,如果ExpirationDate属性有一个值(不是null),由ExpirationDate属性排序(OrderByDescending),但是如果它没有值(null),那么sort(OrderByDescending)由ExpirationDateExtended属性.
在下面,myCollection变量表示我的自定义对象的集合.
var latestExpirationDate = myCollection
.Where(item => item.ExpirationDate.HasValue)
OrderByDescending(item => item.ExpirationDate)
.Select(item => item.ExpirationDate)
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
您应该能够使用null合并运算符
OrderByDescending(item => item.ExpirationDate ?? item.ExpirationDateExtended)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
565 次 |
| 最近记录: |