位置:首頁 > 高級語言 > C#教學 > C# Switch語句

C# Switch語句

switch語句可以讓一個變量對反對值的列表平等進行測試。每個值被稱為一個情況(case),和該變量被接通檢查每個開關盒(switch case)。

語法

在C#中switch語句的語法如下:

switch(expression){
    case constant-expression  :
       statement(s);
       break; /* optional */
    case constant-expression  :
       statement(s);
       break; /* optional */
  
    /* you can have any number of case statements */
    default : /* Optional */
       statement(s);
}

以下規則適用於switch語句:

  • 在switch語句中使用的表達式必須具有整型或枚舉類型,或者是一個類型,其中所述類具有一個單一的轉換功能,以一個整體或枚舉類型。

  • switch內可以有任意數量case語句。每一種case後跟的值進行比較(後跟一個冒號)。

  • 恒定表達的情況下,必須是相同的數據類型,在switch的變量,它必須是一個常量或文字。

  • 當被交換的變量上等於case,以下的case語句將執行,直到break語句為止。

  • 當達到一個break語句,switch終止,並且控製流跳轉到switch語句的下一行。

  • 不是每種 case 都需要包含一個break。如果未出現break,控製流都將落空後續case,直到break為止。

  • switch語句可以有一個可選默認case,它必須出現在switch的結束。缺省情況下,可用於執行任務時冇有case是true。在默認情況下break不是必要的。

流程圖:

switch statement in C#

例子:

using System;

namespace DecisionMaking
{
    
    class Program
    {
        static void Main(string[] args)
        {
            /* local variable definition */
            char grade = 'B';

            switch (grade)
            {
                case 'A':
                    Console.WriteLine("Excellent!");
                    break;
                case 'B':
                case 'C':
                    Console.WriteLine("Well done");
                    break;
                case 'D':
                    Console.WriteLine("You passed");
                    break;
                case 'F':
                    Console.WriteLine("Better try again");
                    break;
                default:
                    Console.WriteLine("Invalid grade");
                    break;
            }
            Console.WriteLine("Your grade is  {0}", grade);
            Console.ReadLine();
        }
    }
}

讓我們編譯和運行上麵的程序,這將產生以下結果:

Well done
Your grade is B