我们有包含20K对象的列表,其中包含日期。考虑到一种情况,我们希望从该列表中找到最近的日期。使用如下代码。
listObject.Where(r => r.Date <= asOfDate).OrderByDescending(r => r.Date).FirstOrDefault();
这花费的时间比预期的长。您能帮忙什么更好的方法吗?谢谢!
一种可能解决问题的方法,可能是使用PLINQ并利用所有处理器:listObject.AsParallel()
.Where(r => r.Date <= asOfDate)
.OrderByDescending(r => r.Date)
.FirstOrDefault();
有关PLINQ的介绍,请看here。