<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 語句(C# 編程指南) 程序所執行的操作以“語句”表達。常見操作包括聲明變量、賦值、調用方法、循環訪問集合,以及根據給定條件分支到一個或另一個代碼塊。語句在程序中的執行順序稱為“控制流”或“執行流”。根據程序對運行時所收到的輸入的響應,在程序每次運行時控制流可能有所不同。 語句可以是以分號結尾的單行代碼,或者是語句塊中的一系列單行語句。語句塊括在括號 {} 中,并且可以包含嵌套塊。下面的代碼演示兩個單行語句示例和一個多行語句塊: ``` static void Main() { // Declaration statement. int counter; // Assignment statement. counter = 1; // Error! This is an expression, not an expression statement. // counter + 1; // Declaration statements with initializers are functionally // equivalent to declaration statement followed by assignment statement: int[] radii = { 15, 32, 108, 74, 9 }; // Declare and initialize an array. const double pi = 3.14159; // Declare and initialize constant. // foreach statement block that contains multiple statements. foreach (int radius in radii) { // Declaration statement with initializer. double circumference = pi * (2 * radius); // Expression statement (method invocation). A single-line // statement can span multiple text lines because line breaks // are treated as white space, which is ignored by the compiler. System.Console.WriteLine("Radius of circle #{0} is {1}. Circumference = {2:N2}", counter, radius, circumference); // Expression statement (postfix increment). counter++; } // End of foreach statement block } // End of Main method body. } // End of SimpleStatements class. /* Output: Radius of circle #1 = 15\. Circumference = 94.25 Radius of circle #2 = 32\. Circumference = 201.06 Radius of circle #3 = 108\. Circumference = 678.58 Radius of circle #4 = 74\. Circumference = 464.96 Radius of circle #5 = 9\. Circumference = 56.55 */ ``` ## 語句的類型 下表列出 C# 中的各種語句類型及其關聯的關鍵字,并提供指向包含更多信息的主題的鏈接: | 類別 | C# 關鍵字/說明 | | --- | --- | | 聲明語句 | 聲明語句引入新的變量或常量。變量聲明可以選擇為變量賦值。在常量聲明中必須賦值。 | ``` // Variable declaration statements. double area; double radius = 2; // Constant declaration statement. const double pi = 3.14159; ``` | | | | --- | --- | | 表達式語句 | 用于計算值的表達式語句必須在變量中存儲該值。 | ``` // Expression statement (assignment). area = 3.14 * (radius * radius); // Error. Not statement because no assignment: //circ * 2; // Expression statement (method invocation). System.Console.WriteLine(); // Expression statement (new object creation). System.Collections.Generic.List&lt;string&gt; strings = new System.Collections.Generic.List&lt;string&gt;(); ``` | | | | --- | --- | | [選擇語句](https://msdn.microsoft.com/zh-CN/library/676s4xab.aspx) | 選擇語句用于根據一個或多個指定條件分支到不同的代碼段。有關更多信息,請參見下列主題:[if](https://msdn.microsoft.com/zh-CN/library/5011f09h.aspx), [else](https://msdn.microsoft.com/zh-CN/library/5011f09h.aspx), [switch](https://msdn.microsoft.com/zh-CN/library/06tc147t.aspx), [case](https://msdn.microsoft.com/zh-CN/library/06tc147t.aspx) | | [迭代語句](https://msdn.microsoft.com/zh-CN/library/32dbftby.aspx) | 迭代語句用于遍歷集合(如數組),或重復執行同一組語句直到滿足指定的條件。有關更多信息,請參見下列主題:[do](https://msdn.microsoft.com/zh-CN/library/370s1zax.aspx), [for](https://msdn.microsoft.com/zh-CN/library/ch45axte.aspx), [foreach](https://msdn.microsoft.com/zh-CN/library/ttw7t8t6.aspx), [in](https://msdn.microsoft.com/zh-CN/library/ttw7t8t6.aspx), [while](https://msdn.microsoft.com/zh-CN/library/2aeyhxcd.aspx) | | [跳轉語句](https://msdn.microsoft.com/zh-CN/library/d96yfwee.aspx) | 跳轉語句將控制轉移給另一代碼段。有關更多信息,請參見下列主題:[break](https://msdn.microsoft.com/zh-CN/library/adbctzc4.aspx), [continue](https://msdn.microsoft.com/zh-CN/library/923ahwt1.aspx), [default](https://msdn.microsoft.com/zh-CN/library/06tc147t.aspx), [goto](https://msdn.microsoft.com/zh-CN/library/13940fs2.aspx), [return](https://msdn.microsoft.com/zh-CN/library/1h3swy84.aspx),[yield](https://msdn.microsoft.com/zh-CN/library/9k7k7cf0.aspx) | | [異常處理語句](https://msdn.microsoft.com/zh-CN/library/s7fekhdy.aspx) | 異常處理語句用于從運行時發生的異常情況正常恢復。有關更多信息,請參見下列主題:[throw](https://msdn.microsoft.com/zh-CN/library/1ah5wsex.aspx), [try-catch](https://msdn.microsoft.com/zh-CN/library/0yd65esw.aspx), [try-finally](https://msdn.microsoft.com/zh-CN/library/zwc8s4fz.aspx), [try-catch-finally](https://msdn.microsoft.com/zh-CN/library/dszsf989.aspx) | | [檢查和未檢查](https://msdn.microsoft.com/zh-CN/library/khy08726.aspx) | 檢查和未檢查語句用于指定當將結果存儲在變量中、但該變量過小而不能容納結果值時,是否允許數值運算導致溢出。有關更多信息,請參見[檢查](https://msdn.microsoft.com/zh-CN/library/74b4xzyw.aspx)和[未檢查](https://msdn.microsoft.com/zh-CN/library/a569z7k8.aspx)。 | | **await** 語句 | 如果標記與 [異步](https://msdn.microsoft.com/zh-CN/library/hh156513.aspx) 修飾符的方法,在方法可以使用 [等待](https://msdn.microsoft.com/zh-CN/library/hh156528.aspx) 運算符。當控件移到在異步方法中的一個 **await** 表達式,控件回調用方,因此,在方法的進度掛起,直到等待任務完成。當任務完成后,執行在方法可以恢復。有關簡單示例,請參見 [方法(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173114.aspx)“Async "方法”一節。有關更多信息,請參見[使用 Async 和 Await 的異步編程(C# 和 Visual Basic)](https://msdn.microsoft.com/zh-CN/library/hh191443.aspx)。 | | **yield return** 語句 | 迭代器對集合的自定義迭代,如列表或數組。迭代器使用 [將返回](https://msdn.microsoft.com/zh-CN/library/9k7k7cf0.aspx) 語句返回每個元素一個節點。當 **yield return** 語句時,代碼的當前位置確保。迭代器,當下次時,調用執行從該位置進行重新啟動。有關更多信息,請參見[迭代器(C# 和 Visual Basic)](https://msdn.microsoft.com/zh-CN/library/dscyy5s0.aspx)。 | | **fixed** 語句 | Fixed 語句禁止垃圾回收器重定位可移動的變量。有關更多信息,請參見 [fixed](https://msdn.microsoft.com/zh-CN/library/f58wzh21.aspx)。 | | **lock** 語句 | lock 語句用于限制一次僅允許一個線程訪問代碼塊。有關更多信息,請參見 [lock](https://msdn.microsoft.com/zh-CN/library/c5kehkcz.aspx)。 | | 標記語句 | 可以為語句指定一個標記,然后使用 [goto](https://msdn.microsoft.com/zh-CN/library/13940fs2.aspx) 關鍵字跳轉到該標記語句。(參見下一行中的示例。) | | 空語句 | 空語句只含一個分號。空語句不執行任何操作,可以在需要語句但不需要執行任何操作的地方使用。下面的示例演示空語句的兩種用法: | ``` void ProcessMessages() { while (ProcessMessage()) ; // Statement needed here. } void F() { //... if (done) goto exit; //... exit: ; // Statement needed here. } ``` ## 嵌入語句 一些語句(例如 [do](https://msdn.microsoft.com/zh-CN/library/370s1zax.aspx)、[while](https://msdn.microsoft.com/zh-CN/library/2aeyhxcd.aspx)、[for](https://msdn.microsoft.com/zh-CN/library/ch45axte.aspx) 和 [foreach](https://msdn.microsoft.com/zh-CN/library/ttw7t8t6.aspx))后面始終跟有一條嵌入語句。此嵌入語句可以是單個語句,也可以是語句塊中括在括號 {} 內的多個語句。甚至可以在括號 {} 內包含單行嵌入語句,如下面的示例所示: ``` // Recommended style. Embedded statement in block. foreach (string s in System.IO.Directory.GetDirectories( System.Environment.CurrentDirectory)) { System.Console.WriteLine(s); } // Not recommended. foreach (string s in System.IO.Directory.GetDirectories( System.Environment.CurrentDirectory)) System.Console.WriteLine(s); ``` 未括在括號 {} 內的嵌入語句不能作為聲明語句或標記語句。下面的示例演示了這種情況: ``` if(pointB == true) //Error CS1023: int radius = 5; ``` 將該嵌入語句放在語句塊中以修復錯誤: ``` if (b == true) { // OK: System.DateTime d = System.DateTime.Now; System.Console.WriteLine(d.ToLongDateString()); } ``` ## 嵌套語句塊 語句塊可以嵌套,如以下代碼所示: ``` foreach (string s in System.IO.Directory.GetDirectories( System.Environment.CurrentDirectory)) { if (s.StartsWith("CSharp")) { if (s.EndsWith("TempFolder")) { return s; } } } return "Not found."; ``` ## 無法訪問的語句 如果編譯器認為在任何情況下控制流都無法到達特定語句,將生成警告 CS0162,如下面的示例所示: ``` // An over-simplified example of unreachable code. const int val = 5; if (val < 4) { System.Console.WriteLine("I'll never write anything."); //CS0162 } ``` ## 相關章節 * [語句關鍵字(C# 參考)](https://msdn.microsoft.com/zh-CN/library/xt4z8b0f.aspx) * [表達式(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173144.aspx) * [運算符(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173145.aspx) ## C# 語言規范 有關詳細信息,請參閱 [C# 語言規范](https://msdn.microsoft.com/zh-CN/library/ms228593.aspx)。該語言規范是 C# 語法和用法的權威資料。 ## 請參閱 [C# 編程指南](https://msdn.microsoft.com/zh-CN/library/67ef8sbd.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>

                              哎呀哎呀视频在线观看