@Veatiix

Можно ли в тернарной операции во втором операнде присваивать одной переменной значение другой?

width > height ? countOfIteration = height : countOfIteration = width;

вот такой вот кодик, VS ругается и говорит:
Ошибка CS0201 В качестве оператора могут использоваться только выражения назначения, вызова, инкремента, декремента и создания нового объект
Через If, else все работает, но я сейчас нарабатываю навыки рефакторинга и хотел бы узнать есть ли возможность в тернарной операции присвоить значение одной переменной к другой или сделать как то альтернативно, но не через if else.
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
Сказано же по русски, что только выражения могут быть в тернарном операторе.
Операция присваивания выражением не является.

И вообще за подобный код, как у вас в примере, по рукам бить надо.
Вот это лучше будет гораздо:
countOfIteration = Math.Min(width, height);
А если так сильно хочется тернарник, то вот:
countOfIteration = width > height
  ? height
  : width;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы