Utilizor
Contact Us

C# Switch

Selecting one of many code blocks.

C# Switch Statements

Use the switch statement to select one of many code blocks to be executed.

Syntax

switch(expression) 
{
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
    // code block
    break;
}

This is how it works:

  • The switch expression is evaluated once
  • The value of the expression is compared with the values of each case
  • If there is a match, the associated block of code is executed
  • The break and default keywords are optional, but recommended

The break Keyword

When C# reaches a break keyword, it breaks out of the switch block. This will stop the execution of more code and case testing inside the block.

Examples

Switch Example

Selecting the day of the week.

using System;

class Program
{
  static void Main(string[] args)
  {
    int day = 4;
    switch (day) 
    {
      case 1:
        Console.WriteLine("Monday");
        break;
      case 2:
        Console.WriteLine("Tuesday");
        break;
      case 3:
        Console.WriteLine("Wednesday");
        break;
      case 4:
        Console.WriteLine("Thursday");
        break;
      case 5:
        Console.WriteLine("Friday");
        break;
      case 6:
        Console.WriteLine("Saturday");
        break;
      case 7:
        Console.WriteLine("Sunday");
        break;
    }
  }
}

The default Keyword

Using default when no match is found.

using System;

class Program
{
  static void Main(string[] args)
  {
    int day = 10;
    switch (day) 
    {
      case 6:
        Console.WriteLine("Today is Saturday.");
        break;
      case 7:
        Console.WriteLine("Today is Sunday.");
        break;
      default:
        Console.WriteLine("Looking forward to the Weekend.");
        break;
    }
  }
}

Grouping Cases

Executing same code for multiple cases.

using System;

class Program
{
  static void Main(string[] args)
  {
    int val = 1;
    switch (val)
    {
        case 1:
        case 2:
        case 3:
            Console.WriteLine("Value is 1, 2, or 3");
            break;
        default:
            Console.WriteLine("Value is not 1, 2, or 3");
            break;
    }
  }
}

Switch with Strings

Using strings in a switch statement.

using System;

class Program
{
    static void Main()
    {
        string color = "Red";
        switch(color)
        {
            case "Red":
                Console.WriteLine("Color is Red");
                break;
            case "Blue":
                Console.WriteLine("Color is Blue");
                break;
        }
    }
}

Nested Switch

Switch inside a switch.

using System;

class Program
{
    static void Main()
    {
        int x = 1, y = 2;
        switch(x)
        {
            case 1:
                switch(y)
                {
                    case 2:
                        Console.WriteLine("x=1, y=2");
                        break;
                }
                break;
        }
    }
}