Switch in c# with example

Switch in c# with example
In this article [Show more]

    Introduction to Switch Statement in C#

    The switch statement is a control flow statement that evaluates the value of an expression and executes a block of code based on a matching case label. It offers a cleaner and more concise alternative to multiple if-else statements when dealing with multiple possible conditions.

    Syntax of Switch Statement

    The syntax of the switch statement in C# is as follows:

    switch (expression)
    {
        case value1:
            // Code block executed if expression equals value1
            break;
        case value2:
            // Code block executed if expression equals value2
            break;
        // Additional cases...
        default:
            // Code block executed if expression doesn't match any case
            break;
    }
    

    Example: Basic Usage of Switch Statement

    Let's consider a simple example where we use a switch statement to determine the day of the week based on a numeric input:

    int dayOfWeek = 3;
    string dayName;
    
    switch (dayOfWeek)
    {
        case 1:
            dayName = "Monday";
            break;
        case 2:
            dayName = "Tuesday";
            break;
        case 3:
            dayName = "Wednesday";
            break;
        // Cases for other days...
        default:
            dayName = "Invalid day";
            break;
    }
    
    Console.WriteLine("The day is: " + dayName);
    

    Advanced Usage: Patterns in Switch Statement

    Starting from C# 7.0, switch statements support patterns, allowing for more expressive and flexible matching conditions. Let's explore an example where we use switch statement patterns to categorize objects:

    object obj = 123;
    string result;
    
    switch (obj)
    {
        case int i:
            result = "Integer: " + i;
            break;
        case string s:
            result = "String: " + s;
            break;
        case bool b:
            result = "Boolean: " + b;
            break;
        default:
            result = "Unknown type";
            break;
    }
    
    Console.WriteLine(result);
    

    Best Practices and Tips

    • Always include a default case to handle unexpected values or edge cases.
    • Avoid fall-through behavior by including a break statement at the end of each case block.
    • Prefer switch statements over long chains of if-else statements for better readability and maintainability.
    • Utilize switch statement patterns to handle complex matching conditions more effectively.

    Conclusion

    The switch statement in C# is a versatile tool for implementing branching logic based on multiple possible values of an expression. By understanding its syntax, usage patterns, and best practices, you can write cleaner, more efficient, and maintainable code.

    Author Information
    • Author: Ehsan Babaei

    Send Comment



    Comments