gpt4 book ai didi

c# - 在其中一个属性中获取具有最大日期时间值的对象

转载 作者:太空狗 更新时间:2023-10-29 18:20:21 25 4
gpt4 key购买 nike

当我想从 IEnumerable 中检索 DateTime 属性中具有最高值的对象时,我可以执行以下操作:

var maxDate = myEnumerable.Max(x => x.TheDateTimeProperty);
var wantedObject = myEnumerable.FirstOrDefault(x => x.TheDateTimeProperty == maxDate);

如果不先获取 maxDate 是否可行?例如像这样:

var wantedObject = myEnumerable.GetByMaxDate(x => x.TheDateTimeProperty);

我知道我可以写一个扩展方法 GetByMaxDate,但我想知道是否已经有 linq 提供的方法。

只是为了澄清:不是在寻找其他可能性来写这篇文章。我只是想知道是否存在一种方法可以做到这一点。 (更少的代码,该方法管理的最佳性能)

最佳答案

专业版:它应该与“任何”linq 提供程序(对象、实体、sql)一起工作

myEnumerable.OrderByDescending(x => x.TheDateTimeProperty).First();

缺点:正如 Matthew Watson 在评论中指出的那样,它不会在(非常)大的列表上表现出色。

关于c# - 在其中一个属性中获取具有最大日期时间值的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15335286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com