Cómo usar LINQ para seleccionar un objeto con valor de propiedad mínimo o máximo


Tengo un objeto Person con una propiedad DateOfBirth anulable. ¿Hay una manera de usar LINQ para consultar una lista de objetos Person para el que tiene el valor DateOfBirth más antiguo/más pequeño?

Esto es con lo que empecé:

var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));

Los valores Null DateOfBirth se establecen en DateTime.MaxValue para descartarlos de la consideración Min (suponiendo que al menos uno tenga un DOB especificado).

Pero todo lo que hace para mí es establecer firstBornDate a un valor DateTime. Lo que me gustaría conseguir es el objeto Persona que coincide con eso. Necesito escribir una segunda consulta como esta:

var firstBorn = People.Single(p=> (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate);

¿O hay una forma más sencilla de hacerlo?


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52