C # if, if ... else, if ... else if och Nested if Statement (With Exempel)

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 trueeller 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 truekommer uttalandena inuti kroppen för if (inuti (… )) att köras.
  • Om det booleska uttrycket återvänder falseignoreras 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 < 5utvä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 < 5kommer 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 < 5utvä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 < 5kommer 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

Intressanta artiklar...