J'ai un objet Person avec une propriété Nullable DateOfBirth. Existe-t-il un moyen d'utiliser LINQ pour interroger une liste d'objets Person pour celui avec la valeur DateOfBirth la plus ancienne / la plus petite.
Voici ce que j'ai commencé avec:
var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));
Les valeurs Null DateOfBirth sont définies sur DateTime.MaxValue afin de les exclure de la considération Min (en supposant qu'au moins une a un DOB spécifié).
Mais tout ce que cela fait pour moi, c'est de définir firstBornDate sur une valeur DateTime. Ce que j'aimerais obtenir, c'est l'objet Personne qui correspond à cela. Dois-je écrire une deuxième requête comme ceci:
var firstBorn = People.Single(p=> (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate);
Ou existe-t-il une façon plus simple de le faire?
a.Min(x => x.foo);
max("find a word of maximal length in this sentence".split(), key=len)
retourne la chaîne 'phrase'. En C # "find a word of maximal length in this sentence".Split().Max(word => word.Length)
calcule que 8 est la plus longue d'un mot, mais ne vous dit pas ce que le mot le plus long est .