我有一个具有Nullable DateOfBirth属性的Person对象.有没有办法使用LINQ查询具有最早/最小DateOfBirth值的Person对象列表.
这是我开始的:
var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));
Run Code Online (Sandbox Code Playgroud)
Null DateOfBirth值设置为DateTime.MaxValue,以便将它们排除在Min考虑范围之外(假设至少有一个具有指定的DOB).
但对我来说,所有这一切都是将firstBornDate设置为DateTime值.我想得到的是与之匹配的Person对象.我是否需要编写第二个查询:
var firstBorn = People.Single(p=> (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate);
Run Code Online (Sandbox Code Playgroud)
或者有更简洁的方法吗?
我有以下课程-
public class Test
{
public string TestServerName;
public string TestApplicationRunning;
public bool IsAvailable;
public long Counter;
}
Run Code Online (Sandbox Code Playgroud)
如何使用 LINQ 获取计数器值最低的项目?
假设所有项目中的最低计数器值为 0,则 LINQ 应返回计数器值为 0 的所有项目。计数器值最小的项目可能多于 1 个。