Cuprins >> Introducere > Operatorul condițional (ternar)
Articol de importanță mare

Operatorul condițional este un pic mai greu de explicat. Necesită o expresie care produce un rezultat boolean, pentru a determina care din două expresii va fi calculată și va avea valoarea returnată ca rezultat. Semnul său este ?:. Pentru că foloseste trei operanzi, se numește operator ternar. Semnul ? este plasat între primul și al doilea operand, în timp ce : este plasat între al doilea și al treilea.

Sintaxa completă a operatorului ?: este următoarea:

1
operand1 (conditie) ? operand2 : operand3

Mai pe românește, se traduce ca „în cazul în care operand1 este true, returnează valoarea lui operand2; dacă operand1 este false, returnează operand3”.

După cum vom vedea mai târziu, operatorul condițional este similar cu o comparație “if…else…”.

La final, să luăm un exemplu concret de utilizare a operatorului condițional:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
 
namespace BunaLume
{
    class Program
    {
        static void Main(string[] args)
        {
            int x = 3;
            int y = 9;
            
            Console.WriteLine(x > y ? "x este mai mare decat y" : "x este mai mic decat y");
            Console.ReadLine();
        }
    }
}

Ieșirea va fi:

x este mai mic decat y
 
 

Analizând codul, observați că am declarat două numere întregi, x și y, cu valorile 3, respectiv 9. Apoi, am folosit operatorul condițional pentru a verifica dacă x este mai mare decât y, și a afișa un text dacă expresia este true, și un alt text, dacă este false.

Puteți combina acest operator cu atribuirea. De exemplu:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
 
namespace BunaLume
{
    class Program
    {
        static void Main(string[] args)
        {
            int x = 3;
            int y = 9;
            int z = x > y ? x : y;
        }
    }
}

SAstfel, în exemplul de mai sus, compilatorul verifică dacă x este mai mare decât y. Dacă este, returnează valoarea lui x, dacă nu, o returnează pe cea a lui y. Valoarea returnată este mai apoi atribuită variabilei z.

Conceptele explicate în această lecție sunt prezentate și vizual, ca parte a următorului videoclip: