<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# 提供了許多運算符,這些運算符是指定要在表達式中執行哪些操作(數學、索引、函數調用等等)的符號。在應用于用戶定義類型之前,你可以對許多運算符進行[重載](https://msdn.microsoft.com/zh-CN/library/8edha89s.aspx)以更改其含義。 針對整型類型的運算(如 **==**、**!=**、**&lt;**、**&gt;**、**&**、**|**)通常可用于枚舉 (**enum**) 類型。 以下章節按最高優先級到最低優先級的順序列示 C# 運算符。各章節內運算符的優先級相同。 ## 主要運算符 以下是具有最高優先級的運算符。請注意,你可以單擊運算符轉到包含示例的詳細頁面。 [x.y](https://msdn.microsoft.com/zh-CN/library/6zhxzbds.aspx) - 成員訪問。 [x?.y](https://msdn.microsoft.com/zh-CN/library/dn986595.aspx) - null 條件成員訪問。如果左邊操作數為 null,則返回 null。 [f(x)](https://msdn.microsoft.com/zh-CN/library/0z4503sa.aspx) - 函數調用。 [a[x]](https://msdn.microsoft.com/zh-CN/library/a3hd7ste.aspx) - 聚合對象索引。 [a?[x]](https://msdn.microsoft.com/zh-CN/library/dn986595.aspx) - null 條件索引。如果左邊操作數為 null,則返回 null。 [x++](https://msdn.microsoft.com/zh-CN/library/36x43w8w.aspx) - 后綴遞增。先返回 x 值,然后用加 1(通常加整數 1)后的 x 值更新存儲位置。 [x--](https://msdn.microsoft.com/zh-CN/library/wc3z3k8c.aspx) - 后綴遞減。先返回 x 值,然后用減 1(通常減整數 1)后的 x 值更新存儲位置。 [New](https://msdn.microsoft.com/zh-CN/library/fa0ab757.aspx) - 類型實例化。 [Typeof](https://msdn.microsoft.com/zh-CN/library/58918ffs.aspx) - 返回表示操作數的 System.Type 對象。 [Checked](https://msdn.microsoft.com/zh-CN/library/74b4xzyw.aspx) - 對整數運算啟用溢出檢查。 [Unchecked](https://msdn.microsoft.com/zh-CN/library/a569z7k8.aspx) - 對整數運算禁用溢出檢查。這是默認的編譯器行為。 [default(T)](https://msdn.microsoft.com/zh-CN/library/xwth0h0d.aspx) - 返回類型 T 的默認初始化值,T 為引用類型時返回 null,T 為數值類型時返回零,T 為結構類型時返回填充為零/null 的成員。 [Delegate](https://msdn.microsoft.com/zh-CN/library/0yw3tz5k.aspx) - 聲明并返回一個委托實例。 [Sizeof](https://msdn.microsoft.com/zh-CN/library/eahchzkf.aspx) - 返回類型操作數的大小(以字節為單位)。 [-&gt;](https://msdn.microsoft.com/zh-CN/library/s8bz4d5h.aspx) - 取消指針引用與成員訪問相結合。 ## 一元運算符 這些運算符的優先級比下一章節高,比上一章節低。請注意,你可以單擊運算符轉到包含示例的詳細頁面。 [+x](https://msdn.microsoft.com/zh-CN/library/k1a63xkz.aspx) - 返回 x 值。 [-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) - 前綴遞增。先用加 1(通常加整數 1)后的 x 值更新存儲位置,然后返回 x 值。 [--x](https://msdn.microsoft.com/zh-CN/library/wc3z3k8c.aspx) - 前綴遞減。先用減 1(通常減整數 1)后的 x 值更新存儲位置,然后返回 x 值。 [(T)x](https://msdn.microsoft.com/zh-CN/library/0z4503sa.aspx) - 類型轉換。 [Await](https://msdn.microsoft.com/zh-CN/library/hh156528.aspx) - 等待 Task。 [&x](https://msdn.microsoft.com/zh-CN/library/sbf85k1c.aspx) - 地址。 [*x](https://msdn.microsoft.com/zh-CN/library/z19tbbca.aspx) - 取消引用。 ## 乘法運算符 這些運算符的優先級比下一章節高,比上一章節低。請注意,你可以單擊運算符轉到包含示例的詳細頁面。 [x * y](https://msdn.microsoft.com/zh-CN/library/z19tbbca.aspx) - 乘法。 [x / y](https://msdn.microsoft.com/zh-CN/library/3b1ff23f.aspx) - 除法。如果操作數均為整數,則結果為整數,舍去小數(例如,-7 / 2 is -3)。 [x % y](https://msdn.microsoft.com/zh-CN/library/0w4e0fzs.aspx) - 取模。如果操作數均為整數,則返回 x 除以 y 后的余數。如果 q = x / y 且 r = x % y,則 x = q * y + r。 ## 加法運算符 這些運算符的優先級比下一章節高,比上一章節低。請注意,你可以單擊運算符轉到包含示例的詳細頁面。 [x + y](https://msdn.microsoft.com/zh-CN/library/k1a63xkz.aspx) - 加法。 [x – y](https://msdn.microsoft.com/zh-CN/library/wch5w409.aspx) - 減法。 ## 移位運算符 這些運算符的優先級比下一章節高,比上一章節低。請注意,你可以單擊運算符轉到包含示例的詳細頁面。 [x &lt;&lt; y](https://msdn.microsoft.com/zh-CN/library/a1sway8w.aspx) - 向左移位,右邊移出的空位補零。 [x &gt;&gt; y](https://msdn.microsoft.com/zh-CN/library/xt18et0d.aspx) - 向右移位。如果左操作數是 **int** 或 **long**,則左位數補符號位。如果左操作數是 **uint** 或 **ulong**,則左位數補零。 ## 關系和類型測試運算符 這些運算符的優先級比下一章節高,比上一章節低。請注意,你可以單擊運算符轉到包含示例的詳細頁面。 [x &lt; y](https://msdn.microsoft.com/zh-CN/library/z5wecxwa.aspx) - 小于(如果 x 小于 y,則為 true)。 [x &gt; y](https://msdn.microsoft.com/zh-CN/library/yxk8751b.aspx) - 大于(如果 x 大于 y,則為 true)。 [x &lt;= y](https://msdn.microsoft.com/zh-CN/library/hx063734.aspx) - 小于等于。 [x &gt;= y](https://msdn.microsoft.com/zh-CN/library/a59bsyk4.aspx) - 大于等于。 [Is](https://msdn.microsoft.com/zh-CN/library/scekt9xw.aspx) - 類型兼容性。如果求值后的左操作數可以轉換為右操作數中指定的類型(靜態類型),則返回 true。 [As](https://msdn.microsoft.com/zh-CN/library/cscsdfbt.aspx) - 類型轉換。返回左操作數并轉換為右操作數中指定的類型(靜態類型),但 **as** 返回 **null**,其中 (T)x 會引發異常。 ## 相等運算符 這些運算符的優先級比下一章節高,比上一章節低。請注意,你可以單擊運算符轉到包含示例的詳細頁面。 [x == y](https://msdn.microsoft.com/zh-CN/library/53k8ybth.aspx) - 相等。默認情況下,對于 **string** 以外的引用類型,此運算符返回引用相等(標識測試)。但是,類型可以重載 **==**,因此,如果你想測試標識,最好對 **object** 使用 ReferenceEquals 方法。 [x != y](https://msdn.microsoft.com/zh-CN/library/3tz250sf.aspx) - 不相等。請參閱有關 **==** 的注釋。如果某個類型重載 **==**,則它必須重載 **!=**。 ## 邏輯 AND 運算符 此運算符的優先級比下一章節高,比上一章節低。請注意,你可以單擊該運算符轉到包含示例的詳細頁面。 [x & y](https://msdn.microsoft.com/zh-CN/library/sbf85k1c.aspx) - 邏輯或位 AND。與整數類型一起使用,并且通常允許 **enum** 類型。 ## 邏輯 XOR 運算符 此運算符的優先級比下一章節高,比上一章節低。請注意,你可以單擊該運算符轉到包含示例的詳細頁面。 [x ^ y](https://msdn.microsoft.com/zh-CN/library/zkacc7k1.aspx) - 邏輯或位 XOR。通常可以將此運算符與整數類型和 **enum** 類型一起使用。 ## 邏輯 OR 運算符 此運算符的優先級比下一章節高,比上一章節低。請注意,你可以單擊該運算符轉到包含示例的詳細頁面。 [x | y](https://msdn.microsoft.com/zh-CN/library/kxszd0kx.aspx) - 邏輯或位 OR。與整數類型一起使用,并且通常允許 **enum** 類型。 ## 條件 AND 運算符 此運算符的優先級比下一章節高,比上一章節低。請注意,你可以單擊該運算符轉到包含示例的詳細頁面。 [x && y](https://msdn.microsoft.com/zh-CN/library/2a723cdk.aspx) - 邏輯 AND。如果第一個操作數為 false,則 C# 不對第二個操作數求值。 ## 條件 OR 運算符 此運算符的優先級比下一章節高,比上一章節低。請注意,你可以單擊該運算符轉到包含示例的詳細頁面。 [x || y](https://msdn.microsoft.com/zh-CN/library/6373h346.aspx) - 邏輯 OR。如果第一個操作數為 true,則 C# 不對第二個操作數求值。 ## Null 合并運算符 此運算符的優先級比下一章節高,比上一章節低。請注意,你可以單擊該運算符轉到包含示例的詳細頁面。 [x ?? y](https://msdn.microsoft.com/zh-CN/library/ms173224.aspx) - 如果不為 **null**,則返回 x;否則返回 y。 ## 條件運算符 此運算符的優先級比下一章節高,比上一章節低。請注意,你可以單擊該運算符轉到包含示例的詳細頁面。 [t ? x : y](https://msdn.microsoft.com/zh-CN/library/ty67wk28.aspx) - 如果測試 t 為 true,則求值并返回 x;否則,求值并返回 y。 ## 賦值和 Lambda 運算符 這些運算符的優先級比下一章節高,比上一章節低。請注意,你可以單擊運算符轉到包含示例的詳細頁面。 [x = y](https://msdn.microsoft.com/zh-CN/library/sbkb459w.aspx) - 賦值。 [x += y](https://msdn.microsoft.com/zh-CN/library/sa7629ew.aspx) - 遞增。 x 值加 y 值,結果存儲在 x 中,并返回新值。如果 x 指定 **event**,則 y 必須是 C# 作為事件處理程序添加的相應函數。 [x -= y](https://msdn.microsoft.com/zh-CN/library/2y9zhhx1.aspx) - 遞減。 x 值減 y 值,結果存儲在 x 中,并返回新值。如果 x 指定 **event**,則 y 必須是 C# 作為事件處理程序刪除的相應函數 [x *= y](https://msdn.microsoft.com/zh-CN/library/s2bkaksf.aspx) - 乘法賦值。 x 值乘以 y 值,結果存儲在 x 中,并返回新值。 [x /= y](https://msdn.microsoft.com/zh-CN/library/d31sybc9.aspx) - 除法賦值。 x 值除以 y 值,結果存儲在 x 中,并返回新值。 [x %= y](https://msdn.microsoft.com/zh-CN/library/ydwa9zh0.aspx) - 取模賦值。 x 值除以 y 值,余數存儲在 x 中,并返回新值。 [x &= y](https://msdn.microsoft.com/zh-CN/library/e669ax02.aspx) - AND 賦值。 y 值和 x 值相與,結果存儲在 x 中,并返回新值。 [x |= y](https://msdn.microsoft.com/zh-CN/library/h5f1zzaw.aspx) - OR 賦值。 y 值和 x 值相或,結果存儲在 x 中,并返回新值。 [x ^= y](https://msdn.microsoft.com/zh-CN/library/0zbsw2z6.aspx) - XOR 賦值。 y 值和 x 值相異或,結果存儲在 x 中,并返回新值。 [x &lt;&lt;= y](https://msdn.microsoft.com/zh-CN/library/ayt2kcfb.aspx) - 左移賦值。將 x 值向左移動 y 位,結果存儲在 x 中,并返回新值。 [x &gt;&gt;= y](https://msdn.microsoft.com/zh-CN/library/23as4533.aspx) - 右移賦值。將 x 值向右移動 y 位,結果存儲在 x 中,并返回新值。 [=&gt;](https://msdn.microsoft.com/zh-CN/library/bb311046.aspx) - lambda 聲明。 ## 算術溢出 算術運算符([+](https://msdn.microsoft.com/zh-CN/library/k1a63xkz.aspx)、[-](https://msdn.microsoft.com/zh-CN/library/wch5w409.aspx)、[*](https://msdn.microsoft.com/zh-CN/library/z19tbbca.aspx)、[/](https://msdn.microsoft.com/zh-CN/library/3b1ff23f.aspx))產生的結果可能會超出所涉數值類型的可能值的范圍。詳細信息應參考特定運算符的相關章節,而一般情況下: * 整數算術溢出或者引發 [OverflowException](https://msdn.microsoft.com/zh-CN/library/system.overflowexception.aspx),或者放棄結果的最高有效位。整數被零除總是引發 **DivideByZeroException**。 * 浮點算術溢出或被零除從不引發異常,因為浮點類型基于 IEEE 754,因此可以表示無窮大和 NaN(非數值)。 * [小數](https://msdn.microsoft.com/zh-CN/library/364x0z75.aspx)算術溢出總是引發 [OverflowException](https://msdn.microsoft.com/zh-CN/library/system.overflowexception.aspx)。小數被零除總是引發 [DivideByZeroException](https://msdn.microsoft.com/zh-CN/library/system.dividebyzeroexception.aspx)。 當發生整數溢出時,產生的結果取決于執行上下文,該上下文可為 [checked 或 unchecked](https://msdn.microsoft.com/zh-CN/library/khy08726.aspx)。在 checked 上下文中引發 [OverflowException](https://msdn.microsoft.com/zh-CN/library/system.overflowexception.aspx)。在 unchecked 上下文中,放棄結果的最高有效位并繼續執行。因此,C# 讓你有機會選擇處理或忽略溢出。 除算術運算符以外,整型類型之間的轉換也會導致溢出(例如,將 [long](https://msdn.microsoft.com/zh-CN/library/ctetwysk.aspx) 轉換為 [int](https://msdn.microsoft.com/zh-CN/library/5kzh1b5w.aspx))并受 checked 或 unchecked 執行的限制。但是,位運算符和移位運算符永遠不會導致溢出。 ## 請參閱 [C# 參考](https://msdn.microsoft.com/zh-CN/library/618ayhy6.aspx) [C# 編程指南](https://msdn.microsoft.com/zh-CN/library/67ef8sbd.aspx) [Visual C#](https://msdn.microsoft.com/zh-CN/library/kx37x362.aspx) [可重載運算符(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/8edha89s.aspx) [C# 關鍵字](https://msdn.microsoft.com/zh-CN/library/x53a06bb.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>

                              哎呀哎呀视频在线观看