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!