相关疑难解决方法(0)

如何使用LINQ选择具有最小或最大属性值的对象

我有一个具有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)

或者有更简洁的方法吗?

.net c# linq

437
推荐指数
8
解决办法
24万
查看次数

LINQ:如何对集合中所有对象的属性执行.Max()并返回具有最大值的对象

我有一个具有两个int属性的对象列表.该列表是另一个linq查询的输出.物体:

public class DimensionPair  
{
    public int Height { get; set; }
    public int Width { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想找到并返回列表中具有最大Height属性值的对象.

我可以设法获得值的最高值,Height但不能获得对象本身.

我可以用Linq做到这一点吗?怎么样?

c# linq object max

264
推荐指数
5
解决办法
35万
查看次数

标签 统计

c# ×2

linq ×2

.net ×1

max ×1

object ×1