D語言巢狀switch語句


一個switch可以作為外部switch的語句序列的一部分。即使內部和外部switch的case,常含有共同的值,衝突也不會產生。

語法

巢狀switch語句的語法如下:

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

例子:

import std.stdio;

int main ()
{
   /* local variable definition */
   int a = 100;
   int b = 200;

   switch(a) {
      case 100:
         writefln("This is part of outer switch", a );
         switch(b) {
            case 200:
               writefln("This is part of inner switch", a );
               default:
                    break;
         }
       default:
          break;
   }
   writefln("Exact value of a is : %d", a );
   writefln("Exact value of b is : %d", b );
 
   return 0;
}

讓我們編譯和執行上面的程式,這將產生以下結果:

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