Ho un oggetto Person con una proprietà DateOfBirth Nullable. Esiste un modo per utilizzare LINQ per interrogare un elenco di oggetti Person per quello con il valore DateOfBirth più vecchio / più piccolo.
Ecco cosa ho iniziato con:
var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));
I valori Null DateOfBirth sono impostati su DateTime.MaxValue per escluderli dal corrispettivo Min (presupponendo che almeno uno abbia un DOB specificato).
Ma tutto ciò che fa per me è impostare firstBornDate su un valore DateTime. Quello che mi piacerebbe ottenere è l'oggetto Person che corrisponde a quello. Devo scrivere una seconda query in questo modo:
var firstBorn = People.Single(p=> (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate);
O c'è un modo più snello di farlo?
a.Min(x => x.foo);
max("find a word of maximal length in this sentence".split(), key=len)
restituisce la stringa "frase". In C # "find a word of maximal length in this sentence".Split().Max(word => word.Length)
calcola che 8 è la lunghezza più lunga di qualsiasi parola, ma non vi dico ciò che la parola più lunga è .