C # kolmikantainen (? :) Operaattori (esimerkin kanssa)

Tässä artikkelissa opit C # kolmikomponenttioperaattorista ja siitä, miten sitä käytetään ohjelmavirran hallintaan.

Ternary-operaattori korvaa if… else -lausekkeen. Joten ennen kuin siirryt eteenpäin tässä opetusohjelmassa, käy läpi C # if … else -lauseke (jos et ole).

Kolmikomponenttisen syntaksin muoto on:

Kunnossa? Lauseke1: Lauseke2;

Kolmikertainen operaattori toimii seuraavasti:

  • Jos lauseke Conditionon true, Expression1kolminkertainen operaattori palauttaa tuloksen .
  • Jos on false, tulos Expression2palautetaan.

Esimerkiksi voimme korvata seuraavan koodin

 if (luku% 2 == 0) (isEven = true;) else (isEven = false;) 

kanssa

isEven = (luku% 2 == 0)? true: väärä;

Miksi sitä kutsutaan kolmikantaiseksi operaattoriksi?

Tämä operaattori ottaa 3 operandia , jota kutsutaan ternääriseksi operaattoriksi.

Esimerkki 1: C # Ternary Operator

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

Kun suoritamme ohjelmaa, tulos on:

 Totta

Yllä olevassa ohjelmassa 2on osoitettu muuttuvalle numerolle. Sitten kolminkertaista operaattoria käytetään tarkistamaan, onko numero parillinen vai ei.

Koska 2 on parillinen, lauseke ( number % 2 == 0) palaa true. Voimme myös käyttää kolmiportaista operaattoria numeroiden, merkkijonojen ja merkkien palauttamiseen.

Sen sijaan, että palautusarvo tallennettaisiin muuttujaan isEven, voimme tulostaa kolminkertaisen operaattorin palauttaman arvon seuraavasti:

 Console.WriteLine ((numero% 2 == 0)? True: false);

Milloin käyttää kolmiportaista operaattoria?

Ternary-operaattoria voidaan käyttää korvaamaan useita koodirivejä yhdellä rivillä. Meidän ei kuitenkaan pitäisi käyttää sitä liikaa.

Esimerkiksi voimme korvata seuraavat, jos… muuten, jos koodi

 jos (a> b) (tulos = "a on suurempi kuin b";) muuta jos (a <b) (tulos = "b on suurempi kuin a";) muu (tulos = "a on yhtä suuri kuin b";) 

yhdellä koodirivillä

tulos = a> b? "a on suurempi kuin b": a <b? "b on suurempi kuin a": "a on yhtä suuri kuin b";

Kuten voimme nähdä, kolmikantaisen operaattorin käyttö voi lyhentää koodin pituutta, mutta se vaikeuttaa koodin logiikan ymmärtämistä.

Siksi on parempi käyttää vain kolminkertaista operaattoria korvaamaan yksinkertaiset jos muuten lauseet.

Mielenkiintoisia artikkeleita...