Вы допустили логическую ошибку ... значение не может быть> -200 И <-200 одновременно .. Вам нужно выражение ИЛИ ("||") </p>
MyValue fVal = values.Find(x => (x.Value > amount) || (x.Value < amount));
Но если вы ожидаете получить -1000, это выражение также неверно
MyValue fVal = values.Find(x => (x.Value < amount));
Потому что -1000 меньше, чем -200
РЕДАКТИРОВАТЬ: Хорошо, я думаю, что я неправильно понял ваше намерение. Но то, как вы хотите выбрать свою ценность, мне не кажется логичным. Вы хотите следующее меньшее значение?