У меня есть коллекция объектов, каждый со свойством int Frame. Учитывая int, я хочу найти объект в коллекции, который имеет ближайший фрейм.
Вот что я делаю до сих пор:
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 предметов в моей коллекции, и я очень часто называю этот метод. Есть ли относительно простой, более эффективный способ сделать это?