Тернарный оператор

Тернарный оператор (?) относится к числу самых примечательных в C#.
Он представляет собой условный оператор и часто используется вместо определенных видов конструкций if-then-else.

Оператор унаследован из языка С++ без изменений, как очень эффективная конструкция. Если в коде программы (кроме комментариев) встречается символ «?», то это может быть только тернарный оператор, или синтаксическая ошибка.

Ниже приведена общая форма этого оператора:
Выражение1 ? Выражение2 : ВыражениеЗ;
Здесь Выражение1 должно относиться к типу bool, а Выражение2 и ВыражениеЗ — к одному и тому же типу.
Обратите внимание на применение двоеточия и его местоположение в операторе ?.
Значение выражения ? определяется следующим образом.
Сначала вычисляется Выражение1.
Если оно истинно, то вычисляется Выражение2, а полученный результат определяет значение всего выражения ? в целом.
Если же Выражение1 оказывается ложным, то вычисляется ВыражениеЗ, и его значение становится общим для всего выражения ?:

   int b, c;
   c = -4;
   b = c >=0 ? c : c*c;  // b = 16

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

Пример использования тернарного оператора:

using System;
namespace ConsoleApplication1
{    
   class Program
   {        
      static void Main(string[] args)
      {
        int result;   
        // Реализуем функцию модуля числа
        for (int i = 4; i >= -5; i--)
        {
            result = i >= 0 ? i : -i;
            Console.Write("{0}\t", result);
        }
        Console.WriteLine("\n");   
        // Выбор четных чисел
        for (int i = 0; i < 10; i++)
        {  
           if (i % 2 == 0 ? true : false)
              Console.Write("{0}\t", i);
        } 
        Console.ReadLine();
     }
  }
}  

Результат:
214
Перейдем к рассмотрению более традиционных условных операторов в языке C#.


NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.


Помощь проекту:

Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
3 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

конкретно не понял разбор четности чисел…здесь тернарность вообще зачем нужна была?

Писец, а попроще примеры можно? типа 2+2 =4 если не 4 а 5 то так иначе другая процедура!. . . . . БЛ…… .со своими заумными математическими функциями, бл…… них…… не понятно!!!!!!

до этого писал адекватный человек, Здесь писал Ур…д жопоногий!!!
только из-за таких долбо…..бов все бросают обучение на 0.9% обучения!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Важно: Вы можете поддержать проект и автора.
3
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x