У меня есть список очень простой сущности, которая имеет свойство DateTime, допускающее значение NULL.
например,
class MyEntity
{
int Id{ get;set; }
string Category { get; set; }
DateTime? Date{ get; set ; }
}
var myentities = new List<MyEntity>(..);
Я хотел бы вернуть элемент First()
в списке, где или дата - это "самая старая", или самая старая в прошлом, или ближайшая к DateTime.Min, любым способом, каким вы хотите к слову, или , если установлены нет дат, тогда получите первый элемент.
Это можно сделать с помощью двух утверждений:
var myEntity = myentities
.Where(me => me.Date != null)
.OrderBy(me => me.Date)
.FirstOrDefault();
if (myEntity == null)
myEntity = myentities.First();
Но есть ли способ сделать это в одном утверждении?