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:
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: