Eu tenho um objeto Person com uma propriedade Nullable DateOfBirth. Existe uma maneira de usar o LINQ para consultar uma lista de objetos Pessoa para aquele com o menor / menor valor DateOfBirth.
Aqui está o que eu comecei:
var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));
Os valores nulos de DateOfBirth são definidos como DateTime.MaxValue para excluí-los da consideração Mínima (supondo 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);
Ou existe uma maneira mais enxuta de fazer isso?
a.Min(x => x.foo);
max("find a word of maximal length in this sentence".split(), key=len)
retorna a string 'sentença'. Em C # "find a word of maximal length in this sentence".Split().Max(word => word.Length)
calcula que 8 é o maior comprimento de qualquer palavra, mas não dizer-lhe que a palavra mais longa é .