Como usar o LINQ para selecionar objetos com valor mínimo ou máximo da propriedade
Eu tenho um objeto Person com uma propriedade Nullable DateOfBirth. Existe uma maneira de usar o LINQ para consultar uma lista de objetos Person para aquele com o menor / menor valor DateOfBirt
Aqui está o que eu comecei:
var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));
Os valores DateOfBirth nulos são definidos como DateTime.MaxValue para excluí-los da consideração Min (assumindo que pelo menos um tenha um DOB especificado
Mas tudo o que faz por mim é definir firstBornDate como um valor DateTime. O que eu gostaria de obter é o objeto Person que corresponde a isso. Preciso escrever uma segunda consulta assim:
var firstBorn = People.Single(p=> (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate);
Existe uma maneira mais enxuta de fazer iss