【发布时间】:2020-05-26 16:38:17
【问题描述】:
我们的 List 包含 20K 个对象,其中包含日期。考虑到一种情况,我们希望从该列表中找到最近的日期。使用代码如下。
listObject.Where(r => r.Date <= asOfDate).OrderByDescending(r => r.Date).FirstOrDefault();
这比预期花费的时间太长。 你能帮忙看看有什么更好的方法吗? 谢谢!
【问题讨论】:
-
您是否尝试过类似:
var max = listObject.Where(r => r.Date <= asOfDate).Max();? -
列表中还有一些其他属性,max 将只给我们 Date 对象
-
常规的
for循环怎么样? -
只是出于好奇,列表的内容是什么?数据库?既然你提到了 Linq-to-Entities
-
这个列表是从计算器生成的,完整的 C# 列表
标签: c# linq linq-to-entities