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