C # trijų dalių (? :) Operatorius (su pavyzdžiu)

Šiame straipsnyje mes sužinosime apie C # trijų komponentų operatorių ir kaip jį naudoti programos srautui valdyti.

Ternarinis operatorius pakeičia teiginį, jei… kitas. Taigi prieš eidami toliau šioje pamokoje, eikite per C # if … else teiginį (jei to nepadarėte).

Trišalio operatoriaus sintaksė yra tokia:

Sąlyga? 1 išraiška: 2 išraiška;

Trikampis operatorius dirba taip:

  • Jei išraišką nurodo Conditionyra true, Expression1trinaris operatorius grąžina rezultatą .
  • Jei taip false, Expression2grąžinamas rezultatas.

Pavyzdžiui, galime pakeisti šį kodą

 if (skaičius% 2 == 0) (isEven = true;) else (isEven = false;) 

su

isEven = (skaičius% 2 == 0)? tiesa: klaidinga;

Kodėl jis vadinamas trijų komponentų operatoriumi?

Šis operatorius paima 3 operandus , vadinamus trijų komponentų operatoriais.

1 pavyzdys: C # trinaris operatorius

 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); ) ) ) 

Kai vykdysime programą, išvestis bus:

 Tiesa

Pirmiau pateiktoje programoje 2priskiriamas kintamasis skaičius. Tada trijų komponentų operatorius naudojamas patikrinti, ar skaičius yra lyginis, ar ne.

Kadangi 2 yra lyginis, išraiška ( number % 2 == 0) grąžinama true. Mes taip pat galime naudoti trijų komponentų operatorių, kad grąžintume skaičius, eilutes ir simbolius.

Užuot grąžinamosios vertės saugojimą kintamajame isEven, mes galime tiesiogiai atspausdinti trijų komponentų grąžintą vertę kaip

 Console.WriteLine ((skaičius% 2 == 0)? Tiesa: klaidinga);

Kada naudoti trijų komponentų operatorių?

Ternarinis operatorius gali būti naudojamas kelioms kodo eilutėms pakeisti viena eilute. Tačiau neturėtume jo per daug naudoti.

Pvz., Galime pakeisti toliau nurodytus dalykus, jei… kitaip, jei kodas

 jei (a> b) (rezultatas = "a yra didesnis nei b";) dar jei (a <b) (rezultatas = "b yra didesnis nei a";) dar (rezultatas = "a yra lygus b";) 

su viena kodo eilute

rezultatas = a> b? "a yra didesnis nei b": a <b? "b yra didesnis nei a": "a yra lygus b";

Kaip matome, trijų komponentų operatoriaus naudojimas gali sumažinti kodo ilgį, tačiau mums sunku suprasti kodo logiką.

Taigi geriau naudoti tik trijų komponentų operatorių, jei norite pakeisti paprastus, jei ne kitus, teiginius.

Įdomios straipsniai...