@RGO_999

Как найти ближайшее число в списке из целых чисел?

У меня есть список и три переменные:
List<int> phases = (new List<int>() {0, 50, 200, 400});
    int nextPhase, thisPhase;
    public int hp;


Переменная nextPhase - должна быть меньшим ближайшим числом от hp, а переменная thisPhase наоборот - должна быть большим ближайшим числом от hp или равняться hp.

При этом переменные задаются в отдельном методе.

Попытался сделать так:
void ChangePhase()
    {
        nextPhase = phases.OrderBy(x => x).OrderBy(x => Mathf.Abs(x - hp)).ElementAt(0);
        print(nextPhase);
    }


Сделал вот так для nextPhase, но не понимаю как сделать также для thisPhase, если так не работает:
thisPhase = phases.OrderBy(x < x).OrderBy(x < Mathf.Abs(x - hp)).ElementAt(0);
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
Взять бумажку, ручку, лист бумаги и выполнить следующую последовательность действий:
  1. Расписать задачу текстом - что, как, зачем и почему
  2. Сделать декомпозицию задачи в несколько итераций до самых простых и понятных действий
  3. Написать простой и логичный псевдокод
  4. Используя написанный псевдокод реализовать логику в реальном коде
  5. Проверить и продебажить работу кода на каждом шаге, что все работает именно так, как и должно
  6. Внести исправления и доработки в код по необходимости
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы