Задать вопрос
@Veatiix

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

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

вот такой вот кодик, VS ругается и говорит:
Ошибка CS0201 В качестве оператора могут использоваться только выражения назначения, вызова, инкремента, декремента и создания нового объект
Через If, else все работает, но я сейчас нарабатываю навыки рефакторинга и хотел бы узнать есть ли возможность в тернарной операции присвоить значение одной переменной к другой или сделать как то альтернативно, но не через if else.
  • Вопрос задан
  • 137 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    SDP-030_PRG Продвинутая разработка в Microsoft .NET
    1 неделя
    Далее
  • Ulearn.me
    Проектирование на языке C#
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
Сказано же по русски, что только выражения могут быть в тернарном операторе.
Операция присваивания выражением не является.

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

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

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