C# - nested switch Statements

Advertisements


It is possible to have a switch as part of the statement sequence of an outer switch. Even if the case constants of the inner and outer switch contain common values, no conflicts will arise.

Syntax:

The syntax for a nested switch statement is as follows:

switch(ch1) 
{
   case 'A': 
      printf("This A is part of outer switch" );
      switch(ch2) 
      {
         case 'A':
            printf("This A is part of inner switch" );
            break;
         case 'B': /* inner B case code */
      }
      break;
   case 'B': /* outer B case code */
}

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 outer switch ");
                    switch (b)
                    {
                        case 200:
                        Console.WriteLine("This is part of 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 outer switch
This is part of inner switch
Exact value of a is : 100
Exact value of b is : 200


Advertisements
Advertisements