A C#-ban a feltételek számos formában előállhatnak. A lentiekben megnézzük a leggyakrabba nhasznált formákat. Ehhez viszont legyen néhány változónk.
int a=0;
int b=10;
int c=-2;
bool d = true;
bool e = false;
bool eredmeny;
Feltétel keletkezhet értékek összehasonlításából:
eredmeny = a < b; // kisebb (eredménye most igaz)
eredmeny = a > b; // nagyobb (eredménye most igaz)
eredmeny = b == b; // egynelőek-e (eredménye most hamis)
eredmeny = b <= c; // kisebb, vagy egyenlő (eredménye most hamis)
eredmeny = b >= c; // nagyobb, vagy egyenlő (eredménye most hamis)
eredmeny = a != c; // nem egyenlő (eredménye most igaz)
A relációkkal kapcsolatban fontos, hogy megkülönbözteünk kétféle egyenlőséget. Az egy egyenlőség jel "=" az értékadást jelenti, segítségével érteket adunk egy változónak. A dupla egyenlőség jel "==" jelenti az egyenlőség logikai ellenőrzését, ennek az eredménye egy igaz/hamis érték.
Tovább haladva a logikai értékek érkezhetnek még igaz/hamis értékek kombinációjából.
eredmeny = !d; // negáció (ami !igaz, az hamis)
eredmeny = d || e; // logikai "vagy": ha az egyik oldala igaz, akkor igaz (eremdény itt igaz)
eredmeny = d || e; // logikai "és": csak akkor igaz, ha mind a két oldala igaz (eremdény itt hamis)
A logikai operátorokkal kapcsolatban fontos megjegyezni, hogy minden esetben duplán állnak, és két logikai értéket kötnek össze.
Végezetül pedig fontos tudni, hogy a számokat is használhatjuk logikai érték-ként. Ennek számos oka van, de most csak fogadjuk el, hogy így van. Egy szám logikai értéke hamis, ha a konkrét felvett értéke 0. Az igaz érték pedig a nem hamis, vagyis minden más érték amin különbözik a 0-től.
if(a) {...} // ez hamis, mert a == 0
if(b) {...} // ez igaz, mert b ==10, vagyis nem 0.
if(c) {...} // ez is igaz