У овом чланку ћемо научити о Ц # тернарном оператеру и како га користити за контролу протока програма.
Тернарни оператор је замена за иф … елсе изјаву. Дакле, пре него што наставите даље у овом упутству, прођите кроз Ц # иф … елсе изјаву (ако нисте).
Синтакса тернарног оператора је:
Стање ? Израз1: Израз2;
Тернарни оператер ради на следећи начин:
- Ако израз је изјавио
Condition
јеtrue
, резултатExpression1
се враћа тројног оператера. - Ако јесте
false
,Expression2
враћа се резултат од .
На пример, можемо заменити следећи код
иф (број% 2 == 0) (исЕвен = труе;) елсе (исЕвен = фалсе;)
са
исЕвен = (број% 2 == 0)? тачно нетачно ;
Зашто се зове трокраки оператор?
Овај оператор узима 3 операнда , отуда звани трокраки оператор.
Пример 1: Ц # тернарни оператер
using System; namespace Conditional ( class Ternary ( public static void Main(string() args) ( int number = 2; bool isEven; isEven = (number % 2 == 0) ? true : false ; Console.WriteLine(isEven); ) ) )
Када покренемо програм, излаз ће бити:
Истина
У горњем програму 2
додељује се променљивом броју. Затим се помоћу тернарног оператора проверава да ли је број паран или не.
С обзиром да је 2 паран, израз ( number % 2 == 0
) се враћа true
. Такође можемо користити тернарни оператор за враћање бројева, низова и знакова.
Уместо да чувамо повратну вредност у променљивој исЕвен, можемо директно исписати вредност коју је вратио тернарни оператор као,
Цонсоле.ВритеЛине ((број% 2 == 0)? Тачно: нетачно);
Када користити тернарни оператор?
Тернарни оператор се може користити за замену више линија кода једном линијом. Међутим, не бисмо требали претјеривати.
На пример, можемо заменити следеће иф … елсе иф код
иф (а> б) (ресулт = "а је веће од б";) елсе иф (а <б) (ресулт = "б је веће од а";) елсе (ресулт = "а је једнако б";)
са једним редом кода
резултат = а> б? „а је веће од б“: а <б? „б је веће од а“: „а је једнако б“;
Као што видимо, употреба тернарног оператора може смањити дужину кода, али нам отежава разумевање логике кода.
Отуда је боље користити тернарни оператор само да би заменио једноставне иф елсе изразе.