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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 表達式(C# 編程指南) “表達式”是由一個或多個操作數以及零個或零個以上的運算符所組成的序列,可以通過計算得到一個值、對象、方法或命名空間等結果。表達式可以包含文本值、方法調用、運算符及其操作數,或簡單名稱。簡單名稱可以是變量、類型成員、方法參數、命名空間或類型的名稱。 表達式可以使用運算符,而運算符又可以將其他表達式用作參數,或者使用方法調用,而方法調用的參數又可以是其他方法調用,因此表達式既可以非常簡單,也可以非常復雜。下面是表達式的兩個示例: ``` ((x < 10) && ( x > 5)) || ((x > 20) && (x < 25)) System.Convert.ToInt32("35") ``` ## 表達式值 在大部分使用表達式的上下文中,例如在語句或方法參數中,表達式應計算為某個值。如果 x 和 y 是整數,表達式 x + y 將計算為一個數值。表達式 new MyClass() 計算為對 MyClass 對象的新實例的引用。表達式 myClass.ToString() 計算為一個字符串,因為字符串是該方法的返回類型。然而,雖然命名空間名稱歸類為表達式,但它不計算為值,因此永遠不能作為任何表達式的最終結果。命名空間名稱不能傳遞給方法參數,不能用在新表達式中,也不能賦值給變量。命名空間名稱只能用作較大表達式的子表達式。同樣如此的還有類型(與 [System.Type](https://msdn.microsoft.com/zh-CN/library/system.type.aspx) 對象不同)、方法組名稱(與特定方法不同)以及事件 [add](https://msdn.microsoft.com/zh-CN/library/cc713648.aspx) 和 [remove](https://msdn.microsoft.com/zh-CN/library/cc713642.aspx) 訪問器。 每個值都有關聯的類型。例如,如果 x 和 y 都是 **int** 類型的變量,則表達式 x + y 的值的類型也是 **int**。如果將該值賦給不同類型的變量,或者如果 x 和 y 是不同的類型,則應用類型轉換規則。有關如何進行這種轉換的更多信息,請參見[強制轉換和類型轉換(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173105.aspx)。 ## 溢出 如果值大于值類型的最大值,數值表達式可能導致溢出。有關更多信息,請參見[Checked 和 Unchecked(C# 參考)](https://msdn.microsoft.com/zh-CN/library/khy08726.aspx)和 [顯式數值轉換表(C# 參考)](https://msdn.microsoft.com/zh-CN/library/yht2cx7b.aspx)。 ## 運算符的優先級和結合性 計算表達式的方式由結合性和運算符優先級控制。有關更多信息,請參見 [運算符(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173145.aspx)。 除賦值表達式和方法調用表達式之外,大部分表達式都必須嵌在語句中。有關更多信息,請參見 [語句(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173143.aspx)。 ## 文本和簡單名稱 最簡單的兩種表達式類型是文本和簡單名稱。文本是沒有名稱的常數值。例如,在下面的代碼示例中,5 和 "Hello World" 都是文本值: ``` // Expression statements. int i = 5; string s = "Hello World"; ``` 有關文本的更多信息,請參見 [類型(C# 參考)](https://msdn.microsoft.com/zh-CN/library/3ewxz6et.aspx)。 在上面的示例中,i 和 s 都是用于標識局部變量的簡單名稱。在表達式中使用這些變量時,變量名稱計算為當前在該變量的內存位置所存儲的值。下面的示例演示了這種情況: ``` int num = 5; System.Console.WriteLine(num); // Output: 5 num = 6; System.Console.WriteLine(num); // Output: 6 ``` ## 調用表達式 在下面的代碼示例中,對 DoWork 的調用是一個調用表達式。 ``` DoWork(); ``` 方法調用要求使用方法的名稱(如前面的示例中那樣作為名稱,或作為其他表達式的結果),后跟括號和任意方法參數。有關更多信息,請參見 [方法(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173114.aspx)。委托調用使用委托的名稱和括號內的方法參數。有關更多信息,請參見 [委托(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173171.aspx)。如果方法返回值,則方法調用和委托調用的計算結果為該方法的返回值。返回 void 的方法不能替代表達式中的值。 ## 查詢表達式 有關常規表達式的規則同樣適用于查詢表達式。有關更多信息,請參見 [LINQ 查詢表達式(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/bb397676.aspx)。 ## Lambda 表達式 Lambda 表達式表示沒有名稱但可以具有輸入參數和多個語句的“內聯方法”。它們在 LINQ 中廣泛用于向方法傳遞參數。Lambda 表達式被編譯為委托或表達式樹,具體取決于使用它們的上下文。有關更多信息,請參見 [Lambda 表達式(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/bb397687.aspx)。 ## 表達式樹 使用表達式樹可以將表達式表示為數據結構。表達式樹由 LINQ 提供程序廣泛使用,用來將查詢表達式轉換為在其他某個上下文(如 SQL 數據庫)中有意義的代碼。有關更多信息,請參見[表達式樹(C# 和 Visual Basic)](https://msdn.microsoft.com/zh-CN/library/bb397951.aspx)。 ## 備注 只要從表達式中識別到變量、對象屬性或對象索引器訪問,該項的值都會用作表達式的值。在 C# 中,只要表達式的最終計算結果是所需的類型,表達式就可以放置在任何需要值或對象的位置。 ## 重要章節 [Variables and Expressions](http://go.microsoft.com/fwlink/?LinkId=221228) 在 [Beginning Visual C# 2010](http://go.microsoft.com/fwlink/?LinkId=221214) ## 請參閱 [C# 編程指南](https://msdn.microsoft.com/zh-CN/library/67ef8sbd.aspx) [方法(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173114.aspx) [委托(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173171.aspx) [運算符(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173145.aspx) [類型(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173104.aspx) [LINQ 查詢表達式(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/bb397676.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>

                              哎呀哎呀视频在线观看