D 编程 - 嵌套 Switch 语句


可以将开关作为外部开关的语句序列的一部分。即使内部和外部开关的大小写常数包含共同值,也不会发生冲突。

句法

嵌套 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 
d_programming_decisions.htm