<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # switch(C# 參考) **switch** 語句是一個控制語句,用于從候選列表中選擇一個要執行的開關部分。 **switch** 語句包含一個或多個開關部分。每個開關部分包含一個或多個 case 標簽,后接一個或多個語句。下面的示例展示了一個包含三個開關部分的簡單 **switch** 語句。每個開關部分各有一個 case 標簽(例如 case 1)和兩個語句。 ``` int caseSwitch = 1; switch (caseSwitch) { case 1: Console.WriteLine("Case 1"); break; case 2: Console.WriteLine("Case 2"); break; default: Console.WriteLine("Default case"); break; } ``` ## 備注 每個 case 標簽指定一個常數值。switch 語句會將控制傳輸到 case 標簽與 switch 表達式的值(示例中為 caseSwitch)相符的開關部分。如果任何 case 標簽都不包含匹配值,則將控制傳輸到 **default** 部分(如果有)。如果沒有 **default** 部分,則不會執行任何操作,并在 **switch** 語句之外傳輸控制。在上一個示例中,因為 case 1 與 caseSwitch 的值匹配,因此執行第一個開關部分中的語句。 **switch** 語句中可以包含任意數量的開關部分,每個開關部分可以具有一個或多個 case 標簽(如下面的字符串 case 標簽示例中所示)。但是,任何兩個 case 標簽不可包含相同的常數值。 執行選定開關部分中的語句列表時,將首先執行第一個語句,然后執行整個語句列表,通常直到到達一個跳轉語句為止,如 **break**、**goto case**、**return** 或 **throw**。此時,控件在 **switch** 語句之外進行傳輸或傳輸到另一個 case 標簽。 與 C++ 不同、C# 不允許從一個開關部分繼續執行到下一個開關部分。下面的代碼會導致錯誤。 ``` switch (caseSwitch) { // The following switch section causes an error. case 1: Console.WriteLine("Case 1..."); // Add a break or other jump statement here. case 2: Console.WriteLine("... and/or Case 2"); break; } ``` C# 要求開關部分(包括最后一個)的末尾不可到達。就是說,不同于其他一些語言,代碼不能落入下一個開關部分。雖然此要求通常使用 **break** 語句來滿足,但以下情況同樣有效,因為它可以確保無法到達語句列表的末尾。 ``` case 4: while (true) Console.WriteLine("Endless looping. . . ."); ``` 下面的示例演示 **switch** 語句的要求和功能。 ``` class Program { static void Main(string[] args) { int switchExpression = 3; switch (switchExpression) { // A switch section can have more than one case label. case 0: case 1: Console.WriteLine("Case 0 or 1"); // Most switch sections contain a jump statement, such as // a break, goto, or return. The end of the statement list // must be unreachable. break; case 2: Console.WriteLine("Case 2"); break; // The following line causes a warning. Console.WriteLine("Unreachable code"); // 7 - 4 in the following line evaluates to 3. case 7 - 4: Console.WriteLine("Case 3"); break; // If the value of switchExpression is not 0, 1, 2, or 3, the // default case is executed. default: Console.WriteLine("Default case (optional)"); // You cannot "fall through" any switch section, including // the last one. break; } } } ``` 在最后一個示例中,字符串變量、str 和字符串 case 標簽控制執行流。 ``` class SwitchTest { static void Main() { Console.WriteLine("Coffee sizes: 1=small 2=medium 3=large"); Console.Write("Please enter your selection: "); string str = Console.ReadLine(); int cost = 0; // Notice the goto statements in cases 2 and 3\. The base cost of 25 // cents is added to the additional cost for the medium and large sizes. switch (str) { case "1": case "small": cost += 25; break; case "2": case "medium": cost += 25; goto case "1"; case "3": case "large": 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."); } } /* Sample Input: 2 Sample Output: Coffee sizes: 1=small 2=medium 3=large Please enter your selection: 2 Please insert 50 cents. Thank you for your business. */ ``` ## C# 語言規范 有關詳細信息,請參閱 [C# 語言規范](https://msdn.microsoft.com/zh-CN/library/ms228593.aspx)。該語言規范是 C# 語法和用法的權威資料。 ## 請參閱 [C# 參考](https://msdn.microsoft.com/zh-CN/library/618ayhy6.aspx) [C# 編程指南](https://msdn.microsoft.com/zh-CN/library/67ef8sbd.aspx) [C# 關鍵字](https://msdn.microsoft.com/zh-CN/library/x53a06bb.aspx) [switch 語句 (C++)](https://msdn.microsoft.com/zh-CN/library/k0t5wee3.aspx) [if-else(C# 參考)](https://msdn.microsoft.com/zh-CN/library/5011f09h.aspx)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看