Оператор ?

Оператор? относится к числу самых примечательных в С#. Он представляет собой условный оператор и часто используется вместо определенных видов конструкций if-then-else. Оператор?иногда еще называют тернарным,поскольку для него требуются три операнда. Ниже приведена общая форма этого оператора.

Выражение1? Выражение2: Выражение3;

Здесь Выражение1 должно относиться к типу bool, а Выражение2 и Выражение3

к одному и тому же типу. Обратите внимание на применение двоеточия и его место­положение в операторе?.

Значение выражения? определяется следующим образом. Сначала вычисляется

Выражение1. Если оно истинно, то вычисляется Выражение2, а полученный результат определяет значение всего выражения? в целом. Если же Выражение1 оказывается ложным, то вычисляется Выражение3, и его значение становится общим для всего выражения?.

absval = val < 0? -val: val; // получить абсолютное значение переменной val

Присваивать переменной результат выполнения оператора? совсем не обязательно. Например, значение, которое дает оператор?, можно использовать в качестве аргумента при вызове метода. А если все выражения в операторе?относятся к типу bool, то такой оператор может заменить собой условное выражение в цикле или операторе if. В приведенном ниже примере программы выводятся результаты деления числа 100 только на четные, ненулевые значения.

// Разделить только на четные, ненулевые значения.

using System;

class NoZeroDiv2

{

static void Main()

{

for (int i = -5; i < 6; i++)

if (i!= 0? (i % 2 == 0): false)

Console.WriteLine("100 / " + i + " равно " + 100 / i);

}

}

ГЛАВА

Управляющие операторы

Управляющие операторы

Выбора: if; switch;

Итерационные: for; while; do-while; foreach;

Перехода: break; continue; goto; return; throw;

Оператор if

if(условие) оператор;

else оператор;

if(условие) { последовательность операторов}

else { последовательность операторов }

Вложенные операторы if

if (i == 10) {

if(j < 20) a = b;

if(k > 100) с = d;

else a = с; // этот оператор else связан с оператором if(k > 100)

}

else a = d; // этот оператор else связан с оператором if(i == 10)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: