switch语法

switch请参见   
  C#   关键字   
|   与   C++   比较   |   if   |   C.   语法   
  
switch   语句是一个控制语句,它通过将控制传递给其体内的一个   case   语句来处理多个选择。它的形式为:   
    
  
switch   (expression)   
  
{   
        
case   constant-expression:   
              statement   
              jump
-statement   
        [
default:   
              statement   
              jump
-statement]   
  }
   
  其中:     
    
  expression     
  一个整型或字符串型表达式。     
  statement     
  控制传递给   
case   或   default   时执行的嵌入语句。     
  jump
-statement     
  将控制传递到   
case   体外部的跳转语句。     
  constant
-expression     
  根据此表达式的值将控制传递给特定的   
case。     
  备注   
  控制传递给   constant
-expression   与   expression   匹配的   case   语句。switch   语句可以包含任意数量的   case   实例,但同一   switch   语句中的两个   case   常数不能具有相同的值。语句体从选定的语句开始执行,一直执行到   jump-statement   将控制传递到   case   体之外为止。   
    
  请注意,每个块(包括最后一个块,不管它是   
case   语句还是   default   语句)后都要有   jump-statement。与   C++   switch   语句不同,C#   不支持从一个   case   标签显式贯穿到另一个   case   标签。如果要使   C#   支持从一个   case   标签显式贯穿到另一个   case   标签,可以使用   goto   一个   switch-case   或   goto   default。   
    
  如果   expression   不匹配任何   constant
-expression,则控制传递给可选的   default   标签后面的   statement。如果没有   default   标签,则控制传递到   switch   之外。   
    
  示例   
  
//   statements_switch.cs   
  using   System;   
  
class   SwitchTest     
  
{   
        
public   static   void   Main()       
        
{   
              Console.WriteLine(
"Coffee   sizes:   1=Small   2=Medium   3=Large");     
              Console.Write(
"Please   enter   your   selection:   ");     
              
string   s   =   Console.ReadLine();     
              
int   n   =   int.Parse(s);   
              
int   cost   =   0;   
              
switch(n)                 
              
{                     
                    
case   1:         
                          cost   
+=   25;   
                          
break;                                       
                    
case   2:                           
                          cost   
+=   25;   
                          
goto   case   1;                         
                    
case   3:                           
                          cost   
+=   50;   
                          
goto   case   1;                     
                    
default:                           
                          Console.WriteLine(
"Invalid   selection.   Please   select   1,   2,   or   3.");                           
                          
break;               
                }
   
                
if   (cost   !=   0)   
                      Console.WriteLine(
"Please   insert   {0}   cents.",   cost);   
                Console.WriteLine(
"Thank   you   for   your   business.");   
        }
   
  }
   
  输入   
  
2   
  示例输出   
  Coffee   sizes:   
1=Small   2=Medium   3=Large   
  Please   enter   your   selection:   
2   
  Please   insert   
50   cents.   
  Thank   you   
for   your   business.   
  代码讨论   
  在前面的示例中,整型变量   n   用于   
switch   case。注意还可以直接使用字符串变量   s。在这种情况下,可以以下列方式使用   switch   case:     
  
switch(s)   
  
{   
        
case   "1":   
                 
        
case   "2":   
                 
  }
   
  虽然从一个   
case   标签到另一个   case   标签的贯穿不受支持,但可以堆栈   case   标签,例如:     
        
case   0:   
        
case   1:   
              
//   do   something;     
  请参见   
  C#   关键字   
|   与   C++   比较   |   if   |   C.   语法   
    
    
    
  
--------------------------------------------------------------------------------   
    
  向   Microsoft   发送有关此主题的反馈   
    
  
©   Microsoft   Corporation。保留所有权利。   
 

posted on 2007-04-07 21:29  shengel  阅读(388)  评论(0)    收藏  举报