C# - Nested if Statements



The nested if in c# is an if statement that is the target of another if statement. A nested if statement specifies an if or if-else statement inside the other if statement.

It is always legal in C# to nest if-else statements, which means you can use one if or else if statement inside another if or else if statement(s).

Syntax

Following is the syntax of the C# nested if statement −

if( boolean_expression 1) {
   /* Executes when the boolean expression 1 is true */
   if(boolean_expression 2) {
      /* Executes when the boolean expression 2 is true */
   }
}

You can nest else if... else in the similar way as you have nested if statement.

Example: Using of Nested If Statement

In the following example, we demonstrate the use of the nested if statement in the C# Program −

using System;
namespace DecisionMaking {
   class Program {
      static void Main(string[] args) {
         //* local variable definition */
         int a = 100;
         int b = 200;
         
         /* check the boolean condition */
         if (a == 100) {
            
            /* if condition is true then check the following */
            if (b == 200) {
               /* if condition is true then print the following */
               Console.WriteLine("Value of a is 100 and b is 200");
            }
         }
         Console.WriteLine("Exact value of a is : {0}", a);
         Console.WriteLine("Exact value of b is : {0}", b);
         Console.ReadLine();
      }
   }
}

Output

When the above code is compiled and executed, it produces the following result −

Value of a is 100 and b is 200
Exact value of a is : 100
Exact value of b is : 200

Example: Nested else-if Statement

In this example, we use the nested else-if statement to check the student's grade having multiple conditions in a structured way −

using System;
public class Example
{
   public static void Main()
   {
      int marks = 85;
      
      if (marks >= 90)
      {
         Console.WriteLine("Grade: A+");
      }
      else if (marks >= 80)
      {
         Console.WriteLine("Grade: A");
         
         if (marks >= 85)
         {
            Console.WriteLine("Excellent Performance!");
         }
         else
         {
            Console.WriteLine("Good Job!");
         }
      }
      else if (marks >= 70)
      {
         Console.WriteLine("Grade: B");
      }
      else if (marks >= 60)
      {
         Console.WriteLine("Grade: C");
      }
      else
      {
         Console.WriteLine("Grade: F - Needs Improvement");
      }
   }
}

Output

Following is the output of the above code −

Grade: A
Excellent Performance!
Advertisements