Switch 中參數的范圍探討


switch 語句必須遵循下面的規則

  • switch 語句中的 expression 必須是一個整型或枚舉類型,或者是一個 class 類型,其中 class 有一個單一的轉換函數將其轉換為整型或枚舉類型。
  • 在前面的示例中,整型變量 n 用於 switch case。注意還可以直接使用字符串變量 s。在這種情況下,可以以下列方式使用 switch case: --參考msdn
  •  switch(s)
    {
        case "1":
            // ...
        case "2":
            // ...
    }

     

  • 在一個 switch 中可以有任意數量的 case 語句。每個 case 后跟一個要比較的值和一個冒號。
  • case 的 constant-expression 必須與 switch 中的變量具有相同的數據類型,且必須是一個常量。
  • 當被測試的變量等於 case 中的常量時,case 后跟的語句將被執行,直到遇到 break 語句為止。
  • 當遇到 break 語句時,switch 終止,控制流將跳轉到 switch 語句后的下一行。
  • 不是每一個 case 都需要包含 break。如果 case 語句為空,則可以不包含 break,控制流將會 繼續 后續的 case,直到遇到 break 為止。
  • C# 不允許從一個開關部分繼續執行到下一個開關部分。如果 case 語句中有處理語句,則必須包含 break 或其他跳轉語句。
  • 一個 switch 語句可以有一個可選的 default case,出現在 switch 的結尾。default case 可用於在上面所有 case 都不為真時執行一個任務。default case 中的 break 語句不是必需的。
  • C# 不支持從一個 case 標簽顯式貫穿到另一個 case 標簽。如果要使 C# 支持從一個 case 標簽顯式貫穿到另一個 case 標簽,可以使用 goto 一個 switch-case 或 goto default。

注:

1、switch 語句中,參數范圍可以延續。

 1 switch (j)
 2             {
 3                 case 0:
 4                     string test = "test";
 5                     Console.WriteLine(test +j);
 6                     return 0;
 7                 case 1:
 8                     test = "1";
 9                     Console.WriteLine(test);
10                     //return 1;
11                     break;
12                 case 2:
13                     test = "2";
14                     Console.WriteLine(test);
15                     break;
16                 default:
17                     return -1;
18             }
test 變量范圍測試

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM