C# Nested if Statements

Nested if statements in C# are if statements placed inside the block of another if or else statement. They allow for more complex decision-making by checking conditions within conditions.

Key Topics

1. Syntax of Nested if Statements

if (condition1)
{
    // Code block
    if (condition2)
    {
        // Nested code block
    }
}

2. Basic Nested if Statement Example

Example: Login Verification

bool isUsernameValid = true;
bool isPasswordValid = false;
if (isUsernameValid)
{
    if (isPasswordValid)
    {
        Console.WriteLine("Login successful.");
    }
    else
    {
        Console.WriteLine("Invalid password.");
    }
}
else
{
    Console.WriteLine("Invalid username.");
}

Output:

Invalid password.

Code Explanation: The outer if checks if the username is valid. Since it is, the nested if checks the password validity. The password is invalid, so "Invalid password." is printed.

3. Deep Nesting Considerations

While nesting allows for complex conditions, excessive nesting can make code difficult to read and maintain.

Example: Avoiding Deep Nesting

if (condition1)
{
    if (condition2)
    {
        if (condition3)
        {
            // Code block
        }
    }
}

Explanation: Deep nesting like this can be refactored using logical operators or separate methods to improve readability.

4. Best Practices for Nested if Statements

  • Avoid excessive nesting by using logical operators (&&, ||).
  • Refactor nested conditions into separate methods if they represent distinct checks.
  • Use comments to explain complex nested logic.
  • Ensure proper indentation to enhance readability.

Key Takeaways

  • Nested if statements allow for checking conditions within conditions.
  • Excessive nesting can reduce code readability and should be minimized.
  • Refactoring and proper use of logical operators can simplify nested conditions.