C# tingimused ja If-laused
C# toetab matemaatikast tuttavaid võrdlustingimusi, näiteks:
Väiksem kui: a < b
Väiksem või võrdne: a <= b
Suurem kui: a > b
Suurem või võrdne: a >= b
Võrdne: a == b
Ei ole võrdne: a != b
Neid tingimusi saab kasutada erinevate otsuste puhul erinevate toimingute tegemiseks.
C#-l on järgmised tingimuslaused:
Kasutage funktsiooni if, et määrata käivitatav koodiplokk, kui määratud tingimus on tõene.
Kasutage funktsiooni else, et määrata käivitatav koodiplokk, kui sama tingimus on väär.
Kasutage funktsiooni else if, et määrata uus testitav tingimus, kui esimene tingimus on väär.
Kasutage funktsiooni switch, et määrata mitu alternatiivset käivitatavat koodiplokki.
If-lause
Kasutage if-lauset C# koodiploki määramiseks, mis täidetakse tingimuse True korral.
if (condition)
{
// block of code to be executed if the condition is True
}
Pane tähele, et „if” on kirjutatud väiketähtedega. Suurtähtede (If või IF) korral tekib viga.
Allolevas näites testime kahte väärtust, et teha kindlaks, kas 20 on suurem kui 18. Kui tingimus on tõene, siis prindi tekst välja:
if (20 > 18)
{
Console.WriteLine("20 is greater than 18");
}
Samuti saame testida muutujaid:
int x = 20;
int y = 18;
if (x > y)
{
Console.WriteLine("x is greater than y");
}
Else-lause
Kasutage lauset else, et määrata koodiplokk, mis täidetakse, kui tingimus on vale.
if (condition)
{
// block of code to be executed if the condition is True
}
else
{
// block of code to be executed if the condition is False
}
Näidis
int time = 20;
if (time < 18)
{
Console.WriteLine("Good day.");
}
else
{
Console.WriteLine("Good evening.");
}
// Outputs "Good evening."
Else if -lause
Kasutage else if lauset uue tingimuse määramiseks, kui esimene tingimus on False.
if (condition1)
{
// block of code to be executed if condition1 is True
}
else if (condition2)
{
// block of code to be executed if the condition1 is false and condition2 is True
}
else
{
// block of code to be executed if the condition1 is false and condition2 is False
}
Näidis:
int time = 22;
if (time < 10)
{
Console.WriteLine("Good morning.");
}
else if (time < 20)
{
Console.WriteLine("Good day.");
}
else
{
Console.WriteLine("Good evening.");
}
// Outputs "Good evening."
C# lülitilaused
Kasutage switch-lauset, et valida üks paljudest käivitatavatest koodiplokkidest.
switch(expression)
{
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
break;
}
See toimib nii:
Switch-avaldist hinnatakse üks kord.
Avaldise väärtust võrreldakse iga juhtumi väärtustega.
Kui leitakse vaste, käivitatakse vastav koodiplokk.
Märksõnu break ja default kirjeldatakse hiljem selles peatükis.
Allolev näide kasutab nädalapäeva nime arvutamiseks nädalapäeva numbrit:
Näide
int day = 4;
switch (day)
{
case 1:
Console.WriteLine("Monday");
break;
case 2:
Console.WriteLine("Tuesday");
break;
case 3:
Console.WriteLine("Wednesday");
break;
case 4:
Console.WriteLine("Thursday");
break;
case 5:
Console.WriteLine("Friday");
break;
case 6:
Console.WriteLine("Saturday");
break;
case 7:
Console.WriteLine("Sunday");
break;
}
// Outputs "Thursday" (day 4)
Märksõna “Break”
Kui C# jõuab märksõnani break, siis see murrab end switch-plokist välja.
See peatab edasise koodi ja juhtumitestide tegemise ploki sees.
Kui vaste leitakse ja töö on tehtud, on aeg pausiks. Rohkem testimist pole vaja.
Break võib säästa palju täitmisaega, kuna see “ignoreerib” kogu ülejäänud koodi täitmist lülitusplokis.
Default märksõna
The default keyword is optional and specifies some code to run if there is no case match:
Näide
int day = 4;
switch (day)
{
case 6:
Console.WriteLine("Today is Saturday.");
break;
case 7:
Console.WriteLine("Today is Sunday.");
break;
default:
Console.WriteLine("Looking forward to the Weekend.");
break;
}
// Outputs "Looking forward to the Weekend."