C#巢狀switch語句

2019-10-16 23:17:24

可以將switch語句作為另外一個switch語句序列的一部分。即使內部和外部switchcase常數包含公共值,也不會產生任何衝突。

語法

巢狀switch語句的語法如下:

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

範例程式碼

using System;
namespace DecisionMaking
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 199;
            int b = 299;

            switch (a)
            {
                case 199:
                    Console.WriteLine("This is part of outer switch ");
                    switch (b)
                    {
                        case 299:
                            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();
        }
    }
}

當編譯和執行上述程式碼時,會產生以下結果:

This is part of outer switch
This is part of inner switch
Exact value of a is : 199
Exact value of b is : 299