我有一个具有Nullable DateOfBirth属性的Person对象。有没有一种方法可以使用LINQ来查询Person对象列表中最早/最小的DateOfBirth值。
这是我开始的:
var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));
空的DateOfBirth值设置为DateTime.MaxValue以便将它们排除在Min考虑之外(假设至少一个具有指定的DOB)。
但是对我来说,所有要做的就是将firstBornDate设置为DateTime值。我想要得到的是与此匹配的Person对象。我是否需要这样编写第二个查询:
var firstBorn = People.Single(p=> (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate);
还是有一种更精简的方法?
a.Min(x => x.foo);
max("find a word of maximal length in this sentence".split(), key=len)
返回字符串'sentence'。在C#中,"find a word of maximal length in this sentence".Split().Max(word => word.Length)
计算得出8是任何单词的最长长度,但不会告诉您最长的单词是什么。