Оператор ? |
Фактически этот оператор аналогичен оператору "Если/Иначе". Записывается он в следующей форме:
УсловноеВыражение?Выражение1:Выражение2
Работает оператор так. Вычисляется значение условного выражения, если его значение отлично от нуля, то возвращается значение первого выражения, в противном случае возвращается значение второго выражения.
Применение этого оператора не так очевидно, как других элементов языка. Его удобно использовать в тех случаях, когда нужно получить либо то, либо другое значение в зависимости от какого-то условия. При умелом использовании этого оператора можно значительно сократить запись некоторых операций. Например, в инсталляционной базе данных встречаются такие строки:
Если(Оплата > Отгрузка)
Расчет = Отгрузка;
иначе
Расчет = Оплата;
Если же использовать новый оператор все выглядит значительно проще и понятнее:
Расчет = Оплата>Отгрузка?Отгрузка:Оплата;
Сразу видно, что цель этой строки рассчитать значение переменной "Расчет".