MyTetra Share
Делитесь знаниями!
Тернарный оператор
Время создания: 04.09.2019 18:55
Текстовые метки: тернарный оператор, c#
Раздел: Компьютер - C#
Запись: Kozlov-AE/Tetra/master/base/1565976030ab7nrwlw0i/text.html на raw.githubusercontent.com

В C# есть только один тернарный оператор – условный. Он представляет собой сокращенную запись конструкции if-else. В общем виде условный тернарный оператор выглядит так:


condition ? if_true : if_false;


Здесь condition является условием, то есть выражением, возвращающим логическое значение true или false. 

Если условие истинно, то возвращается операнд if_true, а если ложно – if_false.

Тернарный оператор можно использовать как для выполнения однострочного кода (например, метода), так и для условного присвоения значения.

Рассмотрим примеры использования тернарного оператора и аналогичные действия с обычной конструкцией if-else:


С помощью тернарного оператора


Random rndm = new Random();

int ZeroOrOne = rndm.Next(0, 2); // Случайное число 0 или 1

bool OnOff; // Присвоим этой переменной false, если случайное число это 0, или true, если 1

OnOff = ZeroOrOne == 1 ? true : false; // С помощью тернарного оператора это одна строка


То же самое при помощи конструкции if-else


int ZeroOrOne2 = rndm.Next(0, 2);

bool OnOff2;

if (ZeroOrOne2 == 1) // То же самое при помощи конструкции if-else

{

   OnOff2 = true;

}

else

{

    OnOff2 = false;

}


if-else из трех ветвей


// Теперь создадим конструкцию if-else из трех ветвей (с else if)

// Как условия используем OnOff и OnOff2

if (OnOff)

{

    Console.WriteLine("Первый включен");

}

if (OnOff2)

{

    Console.WriteLine("Первый выключен, второй включен");

}

else

{

    Console.WriteLine("Оба выключены");

}


То же самое, но при помощи вложенных тернарных операторов


// А теперь то же самое, но при помощи вложенных тернарных операторов

OnOff ? Console.WriteLine(“Первый включен”) : OnOff2 ? Console.WriteLine(“Первый выключен, второй включен”) : Console.WriteLine(“Оба выключены”);


Как видим, тернарный оператор позволяет писать лаконичные условные выражения. 

Однако если ваш код имеет слишком сложную структуру , то тернарный оператор не применим, так как ещё больше усложнит его :)

 

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования