In dit artikel zullen we leren hoe we de instructie if, if… else, if… else if in C # kunnen gebruiken om de stroom van de uitvoering van ons programma te controleren.
Het testen van een conditie is onvermijdelijk bij het programmeren. We zullen vaak situaties tegenkomen waarin we omstandigheden moeten testen (of het nu is true
of false
) om de stroom van het programma te beheersen. Deze omstandigheden kunnen worden beïnvloed door de invoer van de gebruiker, de tijdsfactor, de huidige omgeving waarin het programma wordt uitgevoerd, enz.
In dit artikel leren we condities te testen met de if-instructie in C #.
C # if (if-then) -verklaring
C # if-then-instructie voert een codeblok uit als de gegeven voorwaarde waar is. De syntaxis van de if-then-instructie in C # is:
if (boolean-expression) (// statements uitgevoerd als boolean-expression waar is)
- De boolean-expressie retourneert ofwel true of
false
. - Als de booleaanse uitdrukking terugkeert
true
, worden de instructies in de body van if (inside(… )
) uitgevoerd. - Als de booleaanse uitdrukking terugkeert
false
, worden de instructies in de body van if genegeerd.
Bijvoorbeeld,
if (nummer <5) (nummer + = 5;)
In dit voorbeeld is het statement
getal + = 5;
wordt alleen uitgevoerd als de waarde van het getal kleiner is dan 5.
Herinner je je de + = operator?
Hoe als statement werkt?
Voorbeeld 1: C # if-instructie
using System; namespace Conditional ( class IfStatement ( public static void Main(string() args) ( int number = 2; if (number < 5) ( Console.WriteLine("(0) is less than 5", number); ) Console.WriteLine("This statement is always executed."); ) ) )
Wanneer we het programma uitvoeren, is de uitvoer:
2 is kleiner dan 5 Deze instructie wordt altijd uitgevoerd.
De waarde van getal wordt geïnitialiseerd op 2. De uitdrukking number < 5
wordt dus geëvalueerd naar true
. Vandaar dat de code in het if-blok wordt uitgevoerd. De code na de if-instructie wordt altijd uitgevoerd, ongeacht de uitdrukking.
Verander nu de waarde van het getal in iets groter dan 5
bijvoorbeeld 10
. Wanneer we het programma uitvoeren, is de uitvoer:
Deze verklaring wordt altijd uitgevoerd.
De uitdrukking number < 5
zal terugkeren false
, vandaar de code binnen als blok niet zal worden uitgevoerd.
C # if… else (if-then-else) -verklaring
De if-instructie in C # kan een optionele else-instructie hebben. Het codeblok in de else-instructie wordt uitgevoerd als de uitdrukking wordt geëvalueerd naar false
.
De syntaxis van if… else-instructie in C # is:
if (boolean-expression) // statements uitgevoerd als boolean-expression waar is) else (// statements uitgevoerd als boolean-expression onwaar is)
Bijvoorbeeld,
if (nummer <5) (nummer + = 5;) else (nummer - = 5;)
In dit voorbeeld is het statement
getal + = 5;
wordt alleen uitgevoerd als de waarde van het getal kleiner is dan 5
.
De verklaring
aantal - = 5;
wordt uitgevoerd als de waarde van het getal groter is dan of gelijk is aan 5
.
Hoe als… else Statement werkt?
Voorbeeld 2: C # if… else-instructie
using System; namespace Conditional ( class IfElseStatement ( public static void Main(string() args) ( int number = 12; if (number < 5) ( Console.WriteLine("(0) is less than 5", number); ) else ( Console.WriteLine("(0) is greater than or equal to 5", number); ) Console.WriteLine("This statement is always executed."); ) ) )
Wanneer we het programma uitvoeren, is de uitvoer:
12 is groter dan of gelijk aan 5 Deze instructie wordt altijd uitgevoerd.
Hier wordt de waarde van het getal geïnitialiseerd op 12
. Dus de uitdrukking number < 5
wordt geëvalueerd naar false
. Daarom wordt de code in het else-blok uitgevoerd. De code na de if… else-instructie wordt altijd uitgevoerd, ongeacht de uitdrukking.
Verander nu de waarde van het getal in iets minder dan 5
bijvoorbeeld 2
. Wanneer we het programma uitvoeren, is de uitvoer:
2 is kleiner dan 5 Deze instructie wordt altijd uitgevoerd.
De uitdrukking number < 5
zal true retourneren, vandaar dat de code binnen het if-blok wordt uitgevoerd.
Ternaire operator in C # biedt een snelkoppeling voor C # if… else-instructie.
C # if… else if (if-then-else if) Statement
Als we maar één voorwaarde hebben om te testen, werkt de if-then en if-then-else-instructie prima. Maar wat als we een meervoudige voorwaarde hebben om een van de vele codeblokken te testen en uit te voeren?
For such case, we can use if… else if statement in C#. The syntax for if… else if statement is:
if (boolean-expression-1) ( // statements executed if boolean-expression-1 is true ) else if (boolean-expression-2) ( // statements executed if boolean-expression-2 is true ) else if (boolean-expression-3) ( // statements executed if boolean-expression-3 is true )… else ( // statements executed if all above expressions are false )
The if… else if statement is executed from the top to bottom. As soon as a test expression is true
, the code inside of that if ( or else if ) block is executed. Then the control jumps out of the if… else if block.
If none of the expression is true
, the code inside the else block is executed.
Alternatively, we can use switch statement in such condition.
Example 3: C# if… else if Statement
using System; namespace Conditional ( class IfElseIfStatement ( public static void Main(string() args) ( int number = 12; if (number 5) ( Console.WriteLine("(0) is greater than 5", number); ) else ( Console.WriteLine("(0) is equal to 5"); ) ) ) )
When we run the program, the output will be:
12 is greater than 5
The value of number is initialized to 12
. The first test expression number < 5
is false
, so the control will move to the else if block. The test expression number> 5
is true
hence the block of code inside else if will be executed.
Similarly, we can change the value of number
to alter the flow of execution.
Nested if… else Statement
An if… else statement can exist within another if… else statement. Such statements are called nested if… else statement.
The general structure of nested if… else statement is:
if (boolean-expression) (if (geneste-uitdrukking-1) (// uit te voeren code) else (// uit te voeren code)) else (if (geneste-uitdrukking-2) (// uit te voeren code ) else (// code die moet worden uitgevoerd))
Geneste if-statements worden over het algemeen gebruikt wanneer we de ene voorwaarde moeten testen, gevolgd door een andere. Als in een geneste if-instructie de buitenste if-instructie true retourneert, gaat deze de body binnen om de binnenste if-instructie te controleren.
Voorbeeld 4: Geneste if… else-instructie
Het volgende programma berekent het grootste aantal van de 3 getallen met behulp van de geneste if… else-instructie.
using System; namespace Conditional ( class Nested ( public static void Main(string() args) ( int first = 7, second = -23, third = 13; if (first> second) ( if (firstNumber> third) ( Console.WriteLine("(0) is the largest", first); ) else ( Console.WriteLine("(0) is the largest", third); ) ) else ( if (second> third) ( Console.WriteLine("(0) is the largest", second); ) else ( Console.WriteLine("(0) is the largest", third); ) ) ) ) )
Wanneer we het programma uitvoeren, is de uitvoer:
13 is de grootste