我有一个对象集合,每个对象都有一个整数Frame属性。给定一个整数,我想找到集合中最接近该整数的Frame属性所对应的对象。
目前我的做法是:
目前我的做法是:
public static void Search(int frameNumber)
{
var differences = (from rec in _records
select new { FrameDiff = Math.Abs(rec.Frame - frameNumber), Record = rec }).OrderBy(x => x.FrameDiff);
var closestRecord = differences.FirstOrDefault().Record;
//continue work...
}
这很不错,但我的收藏中有200,000个项目,并且我经常调用此方法。是否有一种相对简单、更有效的方法来完成这个任务?