<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之旅 廣告
                # 運算符(C# 編程指南) 在 C# 中,運算符是應用于表達式或語句中的一個或多個操作數的程序元素。 接受一個操作數的運算符稱為_一元_運算符,例如遞增運算符 (**++**) 或 **new**。 接受兩個操作數的運算符稱為_二元_運算符,例如算術運算符(**+**、**-**、*****、**/**)。 條件運算符 **?:** 接受三個操作數,是 C# 中唯一的三元運算符。 下面的 C# 語句包含一個一元運算符和一個操作數。 遞增運算符 **++** 修改操作數 y 的值。 ``` y++; ``` 下面的 C# 語句包含兩個二元運算符,它們分別有兩個操作數。 賦值運算符 **=** 將一個整數變量 y 和一個表達式 2 + 3 作為操作數。 表達式 2 + 3 本身由加法運算符和兩個操作數 2 和 3 組成。 ``` y = 2 + 3; ``` ## 運算符、計算和運算符優先級 操作數可以是由任何長度的代碼組成的有效表達式,且可包含任意數量的子表達式。 在包含多個運算符的表達式中,運算符的應用順序由運算符優先級、關聯性和括號確定。 每個運算符都具有已定義的優先級。 在包含具有不同優先級級別的多個運算符的表達式中,運算符的優先級確定運算符的計算順序。 例如,下列語句將 3 賦給 n1。 n1 = 11 - 2 * 4; 因為乘法的優先級高于減法,所以首先執行乘法。 下表根據運算符執行的操作類型將它們劃分到不同的類別中。 類別按優先級順序列出。 主要運算符 | Expression | 描述 | | --- | --- | | x[.](https://msdn.microsoft.com/zh-CN/library/6zhxzbds.aspx)yx?.y | 成員訪問條件成員訪問 | | f[(x)](https://msdn.microsoft.com/zh-CN/library/0z4503sa.aspx) | 方法和委托調用 | | a[[x]](https://msdn.microsoft.com/zh-CN/library/a3hd7ste.aspx)a?[x] | 數組和索引器訪問條件數組和索引器訪問 | | x[++](https://msdn.microsoft.com/zh-CN/library/36x43w8w.aspx) | 后遞增 | | x[--](https://msdn.microsoft.com/zh-CN/library/wc3z3k8c.aspx) | 后遞減 | | [new](https://msdn.microsoft.com/zh-CN/library/fa0ab757.aspx) T(...) | 對象和委托創建 | | **new** T(...){...} | 具有初始值設定項的對象創建。 請參閱 [對象和集合初始值設定項(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/bb384062.aspx)。 | | **new** {...} | 匿名對象初始值設定項。 請參閱 [匿名類型(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/bb397696.aspx)。 | | **new** T[...] | 數組創建。 請參閱 [數組(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/9b9dty7d.aspx)。 | | [typeof](https://msdn.microsoft.com/zh-CN/library/58918ffs.aspx)(T) | 獲取 T 的 System.Type 對象 | | [checked](https://msdn.microsoft.com/zh-CN/library/74b4xzyw.aspx)(x) | 在已檢查的上下文中計算表達式 | | [unchecked](https://msdn.microsoft.com/zh-CN/library/a569z7k8.aspx)(x) | 在未檢查的上下文中計算表達式 | | [default](https://msdn.microsoft.com/zh-CN/library/25tdedf5.aspx) (T) | 獲取類型 T 的默認值 | | [delegate](https://msdn.microsoft.com/zh-CN/library/900fyy8e.aspx) {} | 匿名函數(匿名方法) | 一元運算符 | Expression | 描述 | | --- | --- | | [+](https://msdn.microsoft.com/zh-CN/library/k1a63xkz.aspx)x | 標識 | | [-](https://msdn.microsoft.com/zh-CN/library/wch5w409.aspx)x | 求反 | | [!](https://msdn.microsoft.com/zh-CN/library/f2kd6eb2.aspx)x | 邏輯求反 | | [~](https://msdn.microsoft.com/zh-CN/library/d2bd4x66.aspx)x | 按位求反 | | [++](https://msdn.microsoft.com/zh-CN/library/36x43w8w.aspx)x | 前遞增 | | [--](https://msdn.microsoft.com/zh-CN/library/wc3z3k8c.aspx)x | 前遞減 | | [(T)](https://msdn.microsoft.com/zh-CN/library/0z4503sa.aspx)x | 將 x 顯式轉換為類型 T | 乘法運算符 | Expression |描述 | | --- | --- | | [*](https://msdn.microsoft.com/zh-CN/library/z19tbbca.aspx) | 乘法 | | [/](https://msdn.microsoft.com/zh-CN/library/3b1ff23f.aspx) | 除號 | | [%](https://msdn.microsoft.com/zh-CN/library/0w4e0fzs.aspx) | 余數 | 相加運算符 | Expression | 描述 | | --- | --- | | x [+](https://msdn.microsoft.com/zh-CN/library/k1a63xkz.aspx) y | 相加、字符串串聯、委托組合 | | x [-](https://msdn.microsoft.com/zh-CN/library/wch5w409.aspx) y | 相減、委托移除 | 移位運算符 | Expression |描述 | | --- | --- | | x [&lt;&lt;](https://msdn.microsoft.com/zh-CN/library/a1sway8w.aspx) y | 左移 | | x [&gt;&gt;](https://msdn.microsoft.com/zh-CN/library/xt18et0d.aspx) y | 右移 | 關系和類型運算符 | Expression |描述 | | --- | --- | | x [&lt;](https://msdn.microsoft.com/zh-CN/library/z5wecxwa.aspx) y | 小于 | | x [&gt;](https://msdn.microsoft.com/zh-CN/library/yxk8751b.aspx) y | 大于 | | x [&lt;=](https://msdn.microsoft.com/zh-CN/library/hx063734.aspx) y | 小于或等于 | | x [&gt;=](https://msdn.microsoft.com/zh-CN/library/a59bsyk4.aspx) y | 大于或等于 | | x [is](https://msdn.microsoft.com/zh-CN/library/scekt9xw.aspx) T | 如果 x 為 T,則返回 True;否則返回 False。 | | x [as](https://msdn.microsoft.com/zh-CN/library/cscsdfbt.aspx) T | 返回類型為 T 的 x,如果 x 不是 T,則返回 null | 相等運算符 | Expression |描述 | | --- | --- | | x [==](https://msdn.microsoft.com/zh-CN/library/53k8ybth.aspx) y | 等于 | | x [!=](https://msdn.microsoft.com/zh-CN/library/3tz250sf.aspx) y | 不等于 | 邏輯、條件和 null 運算符 | 類別 | Expression |描述 | | --- | --- | --- | | 邏輯“與” | x [&](https://msdn.microsoft.com/zh-CN/library/sbf85k1c.aspx) y | 整型按位“與”,布爾型邏輯“與” | | 邏輯 XOR | x [^](https://msdn.microsoft.com/zh-CN/library/zkacc7k1.aspx) y | 整型按位 XOR,布爾型邏輯 XOR | | 邏輯“或” | x [&#124;](https://msdn.microsoft.com/zh-CN/library/kxszd0kx.aspx) y | 整型按位“或”,布爾型邏輯“或” | | 條件“與” | x [&&](https://msdn.microsoft.com/zh-CN/library/2a723cdk.aspx) y | 僅當 x 為 True 時計算 y | | 條件“或” | x [&#124;&#124;](https://msdn.microsoft.com/zh-CN/library/6373h346.aspx) y | 僅當 x 為 False 時計算 y | | null 合并 | x [??](https://msdn.microsoft.com/zh-CN/library/ms173224.aspx) y | 如果 x 為 Null,則計算結果為 y,否則計算結果為 x | | 條件運算 | x [?](https://msdn.microsoft.com/zh-CN/library/ty67wk28.aspx) y : z | 如果 x 為 True,則計算結果為 y;如果 x 為 False 則計算結果為 z | 賦值和匿名運算符 | Expression | 描述 | | --- | --- | | [=](https://msdn.microsoft.com/zh-CN/library/sbkb459w.aspx)? | 賦值 | | x op= y | 復合賦值。 支持以下運算符:[+=](https://msdn.microsoft.com/zh-CN/library/sa7629ew.aspx)、[-=](https://msdn.microsoft.com/zh-CN/library/2y9zhhx1.aspx)、[*=](https://msdn.microsoft.com/zh-CN/library/s2bkaksf.aspx)、[/=](https://msdn.microsoft.com/zh-CN/library/d31sybc9.aspx)、[%=](https://msdn.microsoft.com/zh-CN/library/ydwa9zh0.aspx)、[&=](https://msdn.microsoft.com/zh-CN/library/e669ax02.aspx)、[&#124;=](https://msdn.microsoft.com/zh-CN/library/h5f1zzaw.aspx)、[!=](https://msdn.microsoft.com/zh-CN/library/3tz250sf.aspx)、[&lt;&lt;=](https://msdn.microsoft.com/zh-CN/library/ayt2kcfb.aspx), [&gt;&gt;=](https://msdn.microsoft.com/zh-CN/library/23as4533.aspx) | | (T x) [=&gt;](https://msdn.microsoft.com/zh-CN/library/bb311046.aspx) y | 匿名函數(lambda 表達式) | ## 結合性 當表達式中出現兩個或兩個以上具有相同優先級的運算符時,將根據結合性計算它們。 左結合運算符按從左到右的順序計算。 例如,x * y / z 將計算為 (x * y) / z。 右結合運算符按從右到左的順序計算。 例如,賦值運算符是右關聯的。 如果不是,下面的代碼將導致錯誤。 ``` int a, b, c; c = 1; // The following two lines are equivalent. a = b = c; a = (b = c); // The following line, which forces left associativity, causes an error. //(a = b) = c; ``` 再舉一個例子,三元運算符 ([?:](https://msdn.microsoft.com/zh-CN/library/ty67wk28.aspx)) 是右結合運算符。 大多數的二元運算符是左結合運算符。 無論表達式中的運算符是左結合運算符還是右結合運算符,都將先從左至右評估各表達式的操作數。 以下示例顯示運算符和操作數的計算順序。 | 語句 |計算順序 | | --- | --- | | a = b | a、b、= | | a = b + c | a、b、c、+、= | | a = b + c * d | a、b、c、d、*、+、= | | a = b * c + d | a、b、c、*、d、+、= | | a = b - c + d | a、b、c、-、d、+、= | | a += b -= c | a、b、c、-=、+= | ## 添加括號 可通過使用圓括號更改運算符優先級和相關性。 例如,2 + 3 * 2 通常計算結果為 8,因為乘法運算符的優先級高于加法運算符。 但是,如果你將表達式編寫為 (2 + 3) * 2,則先計算加法,再計算乘法,且結果為 10。 以下示例顯示括號表達式中的計算順序。 如前面的示例中所示,計算操作數之前會應用運算符。 | 語句 |計算順序 | | --- | --- | | a = (b + c) * d | a、b、c、+、d、*、= | | a = b - (c + d) | a、b、c、d、+、-、= | | a = (b + c) * (d - e) | a、b、c、+、d、e、-、*、= | ## 運算符重載 對于自定義類和結構,你可以更改運算符的行為。 此過程稱為“運算符重載”。 有關更多信息,請參見[可重載運算符(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/8edha89s.aspx)。 ## 相關章節 有關詳細信息,請參閱[運算符關鍵字(C# 參考)](https://msdn.microsoft.com/zh-CN/library/bewds7kc.aspx)和[C# 運算符](https://msdn.microsoft.com/zh-CN/library/6a71f45d.aspx)。 ## 請參閱 [C# 編程指南](https://msdn.microsoft.com/zh-CN/library/67ef8sbd.aspx) [語句、表達式和運算符(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173142.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>

                              哎呀哎呀视频在线观看