У меня есть List<KeyValuePair<double, double>>
, список отсортирован по KeyValuePair.Key
, поэтому его можно изменить в двоичном поиске.И у меня есть double
объект.Теперь моя задача - найти индекс объекта double
.Вот условия, которые применяются:
- Если этот
double
объект соответствует одному из KeyValuePair.Key
в пределах указанного допуска, то должен быть возвращен соответствующий KeyValuePair.Value
. - Если объект
double
выходит за пределы максимального и минимального диапазона KeyValuePair.Key
, то должен быть возвращен 0. - Если объект
double
попадает в максимальный минимум KeyValuePair.Key
, но несоответствует любому из KeyValuePair.Key
в пределах указанного допуска, а затем получить среднее значение ближайшего верхнего и ближайшего нижнего KeyValuePair.Value
(как измерено KeyValuePair.Key
).
Я знаю, что двоичныйреализация поиска доступна в C #, но она не совсем подходит для моих нужд.Я хотел бы спросить, есть ли реализация, которая уже отвечает моим потребностям?Я не хочу тратить несколько часов на написание и отладку кода, который другие люди уже написали, отладили и усовершенствовали.