Оператор ?

Фактически этот оператор аналогичен оператору "Если/Иначе". Записывается он в следующей форме:

УсловноеВыражение?Выражение1:Выражение2

Работает оператор так. Вычисляется значение условного выражения, если его значение отлично от нуля, то возвращается значение первого выражения, в противном случае возвращается значение второго выражения.

Применение этого оператора не так очевидно, как других элементов языка. Его удобно использовать в тех случаях, когда нужно получить либо то, либо другое значение в зависимости от какого-то условия. При умелом использовании этого оператора можно значительно сократить запись некоторых операций. Например, в инсталляционной базе данных встречаются такие строки:

Если(Оплата > Отгрузка)
   Расчет = Отгрузка;
иначе
   Расчет = Оплата;

Если же использовать новый оператор все выглядит значительно проще и понятнее:

Расчет = Оплата>Отгрузка?Отгрузка:Оплата;

Сразу видно, что цель этой строки рассчитать значение переменной "Расчет".