I den här artikeln kommer vi att lära oss hur man använder om, om … annat, om … annars om uttalande i C # för att styra flödet av vårt programs körning.
Att testa ett tillstånd är oundvikligt vid programmering. Vi kommer ofta att möta situationer där vi behöver testa förhållanden (oavsett om det är true
eller false
) för att kontrollera programflödet. Dessa förhållanden kan påverkas av användarens inmatning, tidsfaktor, aktuell miljö där programmet körs etc.
I den här artikeln lär vi oss att testa förhållandena med if-uttalandet i C #.
C # if (if-then) uttalande
C # if-then-satsen kommer att utföra ett kodblock om det angivna villkoret är sant. Syntaxen för if-then-uttalandet i C # är:
if (boolean-expression) (// uttalanden körs om boolean-expression är sant)
- Det booleska uttrycket returnerar antingen sant eller
false
. - Om det booleska uttrycket återkommer
true
kommer uttalandena inuti kroppen för if (inuti(… )
) att köras. - Om det booleska uttrycket återvänder
false
ignoreras påståenden i kroppen om.
Till exempel,
om (nummer <5) (nummer + = 5;)
I detta exempel, uttalandet
nummer + = 5;
körs endast om värdet på talet är mindre än 5.
Kommer du ihåg + = operatören?
Hur om uttalande fungerar?
Exempel 1: C # if uttalande
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."); ) ) )
När vi kör programmet blir resultatet:
2 är mindre än 5 Detta uttalande utförs alltid.
Värdet på tal initialiseras till 2. Så uttrycket number < 5
utvärderas till true
. Därför körs koden inuti if-blocket. Koden efter if-uttalandet kommer alltid att köras oavsett uttrycket.
Ändra nu värdet på talet till något större än 5
, säg 10
. När vi kör programmet blir resultatet:
Detta uttalande utförs alltid.
Uttrycket number < 5
kommer tillbaka false
, därav koden inuti om block inte körs.
C # if… else (if-then-else) Uttalande
If-uttalandet i C # kan ha ett frivilligt annat-uttalande. Kodblocket inuti annars uttalandet kommer att köras om uttrycket utvärderas till false
.
Syntaksen för if … annars uttalande i C # är:
if (boolean-expression) (// uttalanden exekveras om boolean-expression är sant) annars (// uttalanden exekveras om boolean-expression är falskt)
Till exempel,
om (nummer <5) (nummer + = 5;) annat (nummer - = 5;)
I detta exempel, uttalandet
nummer + = 5;
körs endast om värdet på talet är mindre än 5
.
Påståendet
antal - = 5;
kommer att utföras om värdet på talet är större än eller lika med 5
.
Hur om … annars uttalande fungerar?
Exempel 2: C # om … annars uttalande
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."); ) ) )
När vi kör programmet blir resultatet:
12 är större än eller lika med 5 Detta uttalande utförs alltid.
Här initialiseras värdet på talet till 12
. Så uttrycket number < 5
utvärderas till false
. Därför körs koden inuti det andra blocket. Koden efter uttalandet om … annars kommer alltid att köras oavsett uttrycket.
Ändra nu värdet på talet till något mindre än 5
, säg 2
. När vi kör programmet blir resultatet:
2 är mindre än 5 Detta uttalande utförs alltid.
Uttrycket number < 5
kommer att returnera true, därav koden inuti om blocket kommer att köras.
Ternär operatör i C # ger en genväg till C # if … else uttalande.
C # if… else if (if-then-else if) Uttalande
När vi bara har ett villkor att testa, om-då och om-då-annat uttalande fungerar bra. Men tänk om vi har ett flertal villkor för att testa och utföra ett av de många kodblocken.
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 (nested-expression-1) (// code to be executed) else (// code to be executed)) else (if (nested-expression-2) (// code to be executed) ) else (// kod som ska köras))
Kapslad om uttalanden vanligtvis används när vi måste testa ett tillstånd följt av ett annat. I ett kapslat if-uttalande, om det yttre if-uttalandet returnerar sant, kommer det in i kroppen för att kontrollera det inre if-uttalandet.
Exempel 4: Inkapslat om … annars uttalande
Följande program beräknar det största antalet bland 3 nummer med hjälp av kapslad om … annars uttalande.
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); ) ) ) ) )
När vi kör programmet blir resultatet:
13 är den största