A logikai típusú változónak két lehetséges értéke van, a TRUE és a FALSE, vagyis igaz, vagy hamis. Ezek az értékek konstansként is megadhatók:
bool logikai = true;
Két kompatibilis érték összehasonlításának eredménye vagy igaz (true) vagy hamis (false) lesz. Például ha Sz változó int típusú, akkor az Sz < 4 kifejezés értéke lehet igaz is és hamis is, attól függően, hogy mi a változó pillanatnyi értéke. Az összehasonlítás eredményét tudjuk tárolni egy logikai típusú változóban.
bool logikai = true;
int sz = 2;
logikai = sz < 4;
Console.WriteLine("{0}",logikai);
Logikai kifejezéseket logikai operátorokkal köthetünk össze. Ezek a tagadás, a logikai és, illetve a logikai vagy operátorok. A C#-ban a műveleteket a következő képpen jelöljük:
Tagadás (negáció) |
! |
ÉS (konjunkció) |
&& |
VAGY (diszjunkció) |
|| |
Nézzük az operátorok igazságtáblázatát a bemenő paraméterek különböző értékei mellett za operációk milyen eredményt szolgáltatnak?
Tagadás:
A |
!A |
TRUE |
FALSE |
FALSE |
TRUE |
Tehát minden értéket az ellentettjére fordít.
ÉS
A |
B |
A && B |
TRUE |
TRUE |
TRUE |
FALSE |
TRUE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
Azaz kizárólag akkor lesz a művelet eredménye igaz, ha mindkét paraméter értéke igaz.
VAGY
A |
B |
A || B |
TRUE |
TRUE |
TRUE |
FALSE |
TRUE |
TRUE |
TRUE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
Látható, hogy akkor hamis a művelet eredménye, ha mindkét paraméter értéke hamis.
Egy kifejezés kiértékelésében a zárójelek határozzák meg a kiértékelés sorrendjét, ha ez nem dönt, akkor a sorrend: TAGADÁS, ÉS, VAGY. Egyenrangú műveletek esetén a balról-jobbra szabály lép életbe.
bool logikai = true;
int x = 2, y = 5 ;
logikai = x > 4; // FALSE
logikai = logikai && !(y < 3); // FALSE
logikai = (x < 3) || (x > 4); // TRUE
logikai = (x >= 3) && (x <= 4); // FALSE
logikai = x > 3 && !(y < 6) || x < y; // TRUE