Linq使用谓词和order by子句非常慢

问题描述 投票:0回答:1

我们有包含20K对象的列表,其中包含日期。考虑到一种情况,我们希望从该列表中找到最近的日期。使用如下代码。

listObject.Where(r => r.Date <= asOfDate).OrderByDescending(r => r.Date).FirstOrDefault();

这花费的时间比预期的长。您能帮忙什么更好的方法吗?谢谢!

c# linq linq-to-entities
1个回答
0
投票

一种可能解决问题的方法,可能是使用PLINQ并利用所有处理器:listObject.AsParallel() .Where(r => r.Date <= asOfDate) .OrderByDescending(r => r.Date) .FirstOrDefault();

有关PLINQ的介绍,请看here
© www.soinside.com 2019 - 2024. All rights reserved.