Easy Tutorial
❮ Csharp Class Csharp Array ❯

Nested Switch Statements in C

C# Decision Making

You can have a switch as part of the statement sequence of an outer switch. This is called nested switch statements. Even if the case constants of the inner and outer switch contain common values, there are no conflicts.

Syntax

The syntax for a nested switch statement in C# is as follows:

switch(ch1) 
{
   case 'A': 
      Console.WriteLine("This A is part of the outer switch");
      switch(ch2) 
      {
         case 'A':
            Console.WriteLine("This A is part of the inner switch");
            break;
         case 'B': // Inner B case code
            break;
      }
      break;
   case 'B': // Outer B case code
      break;
}

Example

using System;

namespace DecisionMaking
{
   class Program
   {
      static void Main(string[] args)
      {
         int a = 100;
         int b = 200;

         switch (a)
         {
            case 100:
               Console.WriteLine("This is part of the outer switch");
               switch (b)
               {
                  case 200:
                     Console.WriteLine("This is part of the inner switch");
                     break;
               }
               break;
         }
         Console.WriteLine("Exact value of a is {0}", a);
         Console.WriteLine("Exact value of b is {0}", b);
         Console.ReadLine();
      }
   }
}

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

This is part of the outer switch
This is part of the inner switch
Exact value of a is 100
Exact value of b is 200

C# Decision Making

❮ Csharp Class Csharp Array ❯