# C# 運算符
C# 提供了許多運算符,這些運算符是指定要在表達式中執行哪些操作(數學、索引、函數調用等等)的符號。在應用于用戶定義類型之前,你可以對許多運算符進行[重載](https://msdn.microsoft.com/zh-CN/library/8edha89s.aspx)以更改其含義。
針對整型類型的運算(如 **==**、**!=**、**<**、**>**、**&**、**|**)通常可用于枚舉 (**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) - 返回類型操作數的大小(以字節為單位)。
[->](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 << y](https://msdn.microsoft.com/zh-CN/library/a1sway8w.aspx) - 向左移位,右邊移出的空位補零。
[x >> y](https://msdn.microsoft.com/zh-CN/library/xt18et0d.aspx) - 向右移位。如果左操作數是 **int** 或 **long**,則左位數補符號位。如果左操作數是 **uint** 或 **ulong**,則左位數補零。
## 關系和類型測試運算符
這些運算符的優先級比下一章節高,比上一章節低。請注意,你可以單擊運算符轉到包含示例的詳細頁面。
[x < y](https://msdn.microsoft.com/zh-CN/library/z5wecxwa.aspx) - 小于(如果 x 小于 y,則為 true)。
[x > y](https://msdn.microsoft.com/zh-CN/library/yxk8751b.aspx) - 大于(如果 x 大于 y,則為 true)。
[x <= y](https://msdn.microsoft.com/zh-CN/library/hx063734.aspx) - 小于等于。
[x >= 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 <<= y](https://msdn.microsoft.com/zh-CN/library/ayt2kcfb.aspx) - 左移賦值。將 x 值向左移動 y 位,結果存儲在 x 中,并返回新值。
[x >>= y](https://msdn.microsoft.com/zh-CN/library/23as4533.aspx) - 右移賦值。將 x 值向右移動 y 位,結果存儲在 x 中,并返回新值。
[=>](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)
- C# 編程指南
- 在 C# 程序內部
- Hello World -- 您的第一個程序(C# 編程指南)
- C# 程序的通用結構(C# 編程指南)
- C# 編碼約定(C# 編程指南)
- 數組(C# 編程指南)
- 作為對象的數組(C# 編程指南)
- 一維數組(C# 編程指南)
- 多維數組(C# 編程指南)
- 交錯數組(C# 編程指南)
- 對數組使用 foreach(C# 編程指南)
- 將數組作為參數傳遞(C# 編程指南)
- 使用 ref 和 out 傳遞數組(C# 編程指南)
- 隱式類型的數組(C# 編程指南)
- 類和結構(C# 編程指南)
- 類(C# 編程指南)
- 對象(C# 編程指南)
- 結構(C# 編程指南)
- 繼承(C# 編程指南)
- 多態性(C# 編程指南)
- 抽象類、密封類及類成員(C# 編程指南)
- 靜態類和靜態類成員(C# 編程指南)
- 成員(C# 編程指南)
- 訪問修飾符(C# 編程指南)
- 字段(C# 編程指南)
- 常量(C# 編程指南)
- 屬性(C# 編程指南)
- 方法(C# 編程指南)
- 構造函數(C# 編程指南)
- 析構函數(C# 編程指南)
- 對象和集合初始值設定項(C# 編程指南)
- 如何:使用 foreach 訪問集合類(C# 編程指南)
- 嵌套類型(C# 編程指南)
- 分部類和方法(C# 編程指南)
- 匿名類型(C# 編程指南)
- 委托(C# 編程指南)
- 使用委托(C# 編程指南)
- 帶有命名方法的委托與帶有匿名方法的委托(C# 編程指南)
- 如何:合并委托(多路廣播委托)(C# 編程指南)
- 如何:聲明、實例化和使用委托(C# 編程指南)
- 枚舉類型(C# 編程指南)
- 事件(C# 編程指南)
- 如何:訂閱和取消訂閱事件(C# 編程指南)
- 如何:發布符合 .NET Framework 準則的事件(C# 編程指南)
- 如何:在派生類中引發基類事件(C# 編程指南)
- 如何:實現接口事件(C# 編程指南)
- 如何:使用字典存儲事件實例(C# 編程指南)
- 如何:實現自定義事件訪問器(C# 編程指南)
- 異常和異常處理(C# 編程指南)
- 使用異常(C# 編程指南)
- 異常處理(C# 編程指南)
- 創建和引發異常(C# 編程指南)
- 編譯器生成的異常(C# 編程指南)
- 如何:使用 try/catch 處理異常(C# 編程指南)
- 如何:使用 finally 執行清理代碼(C# 編程指南)
- 如何:捕捉非 CLS 異常
- 文件系統和注冊表(C# 編程指南)
- 如何:循環訪問目錄樹(C# 編程指南)
- 如何:獲取有關文件、文件夾和驅動器的信息(C# 編程指南)
- 如何:創建文件或文件夾(C# 編程指南)
- 如何:復制、刪除和移動文件和文件夾(C# 編程指南)
- 如何:提供文件操作進度對話框(C# 編程指南)
- 如何:寫入文本文件(C# 編程指南)
- 如何:讀取文本文件中的內容(C# 編程指南)
- 如何:一次一行地讀取文本文件 (Visual C#)
- 如何:在注冊表中創建注冊表項 (Visual C#)
- 泛型(C# 編程指南)
- 泛型介紹(C# 編程指南)
- 泛型的優點(C# 編程指南)
- 泛型類型參數(C# 編程指南)
- 類型參數的約束(C# 編程指南)
- 泛型類(C# 編程指南)
- 泛型接口(C# 編程指南)
- 泛型方法(C# 編程指南)
- 泛型和數組(C# 編程指南)
- 泛型委托(C# 編程指南)
- 泛型代碼中的默認關鍵字(C# 編程指南)
- C++ 模板和 C# 泛型之間的區別(C# 編程指南)
- 運行時中的泛型(C# 編程指南)
- .NET Framework 類庫中的泛型(C# 編程指南)
- 泛型和反射(C# 編程指南)
- 泛型和特性(C# 編程指南)
- 索引器(C# 編程指南)
- 使用索引器(C# 編程指南)
- 接口中的索引器(C# 編程指南)
- 屬性和索引器之間的比較(C# 編程指南)
- 接口(C# 編程指南)
- 顯式接口實現(C# 編程指南)
- 如何:顯式實現接口成員(C# 編程指南)
- 如何:顯式實現兩個接口的成員(C# 編程指南)
- 互操作性(C# 編程指南)
- 互操作性概述(C# 編程指南)
- 如何:通過使用 Visual C# 功能訪問 Office 互操作對象(C# 編程指南)
- 如何:在 COM 互操作編程中使用索引屬性(C# 編程指南)
- 如何:使用平臺調用播放波形文件(C# 編程指南)
- 演練:Office 編程(C# 和 Visual Basic)
- COM 類示例(C# 編程指南)
- LINQ 查詢表達式(C# 編程指南)
- 查詢表達式基礎(C# 編程指南)
- 如何:在 C# 中編寫 LINQ 查詢
- 如何:查詢對象集合(C# 編程指南)
- 如何:從方法中返回查詢(C# 編程指南)
- 如何:在內存中存儲查詢結果(C# 編程指南)
- 如何:對查詢結果進行分組(C# 編程指南)
- 如何:創建嵌套組(C# 編程指南)
- 如何:對分組操作執行子查詢(C# 編程指南)
- 如何:按連續鍵對結果進行分組(C# 編程指南)
- 如何:在運行時動態指定謂詞篩選器(C# 編程指南)
- 如何:執行內部聯接(C# 編程指南)
- 如何:執行分組聯接(C# 編程指南)
- 如何:執行左外部聯接(C# 編程指南)
- 如何:對 Join 子句的結果進行排序(C# 編程指南)
- 如何:使用復合鍵進行聯接(C# 編程指南)
- 如何:執行自定義聯接操作(C# 編程指南)
- 如何:在查詢表達式中處理 Null 值(C# 編程指南)
- 如何:在查詢表達式中處理異常(C# 編程指南)
- Main() 和命令行參數(C# 編程指南)
- 命令行參數(C# 編程指南)
- 如何:顯示命令行參數(C# 編程指南)
- 如何:使用 foreach 訪問命令行參數(C# 編程指南)
- Main() 返回值(C# 編程指南)
- 命名空間(C# 編程指南)
- 使用命名空間(C# 編程指南)
- 如何:使用全局命名空間別名(C# 編程指南)
- 如何:使用 My 命名空間(C# 編程指南)
- 可以為 null 的類型(C# 編程指南)
- 使用可以為 null 的類型(C# 編程指南)
- 裝箱可以為 null 的類型(C# 編程指南)
- 如何:標識可以為 null 的類型(C# 編程指南)
- 如何:安全地將 bool? 強制轉換為 bool(C# 編程指南)
- 語句、表達式和運算符(C# 編程指南)
- 語句(C# 編程指南)
- 表達式(C# 編程指南)
- 運算符(C# 編程指南)
- 匿名函數(C# 編程指南)
- 可重載運算符(C# 編程指南)
- 轉換運算符(C# 編程指南)
- 如何:使用運算符重載創建復數類(C# 編程指南)
- 相等比較(C# 編程指南)
- 字符串(C# 編程指南)
- 如何:串聯多個字符串(C# 編程指南)
- 如何:修改字符串內容(C# 編程指南)
- 如何:比較字符串(C# 編程指南)
- 如何:拆分字符串(C# 編程指南)
- 如何:使用字符串方法搜索字符串(C# 編程指南)
- 如何:使用正則表達式搜索字符串(C# 編程指南)
- 如何:確定字符串是否表示數值(C# 編程指南)
- 如何:將字符串轉換為 DateTime(C# 編程指南)
- 如何:在舊式編碼與 Unicode 之間轉換(C# 編程指南)
- 如何:將 RTF 轉換為純文本(C# 編程指南)
- 類型(C# 編程指南)
- 強制轉換和類型轉換(C# 編程指南)
- 裝箱和取消裝箱(C# 編程指南)
- 使用類型 dynamic(C# 編程指南)
- 如何:使用 as 和 is 運算符安全地進行強制轉換(C# 編程指南)
- 如何:將字節數組轉換為 int(C# 編程指南)
- 如何:將字符串轉換為數字(C# 編程指南)
- 如何:在十六進制字符串與數值類型之間轉換(C# 編程指南)
- 不安全代碼和指針(C# 編程指南)
- 固定大小的緩沖區(C# 編程指南)
- 指針類型(C# 編程指南)
- XML 文檔注釋(C# 編程指南)
- 建議的文檔注釋標記(C# 編程指南)
- 處理 XML 文件(C# 編程指南)
- 文檔標記的分隔符(C# 編程指南)
- 如何:使用 XML 文檔功能(C# 編程指南)
- C# 參考
- C# 關鍵字
- 類型(C# 參考)
- 值類型(C# 參考)
- bool(C# 參考)
- byte(C# 參考)
- char(C# 參考)
- decimal(C# 參考)
- double(C# 參考)
- enum(C# 參考)
- float(C# 參考)
- int(C# 參考)
- long(C# 參考)
- sbyte(C# 參考)
- short(C# 參考)
- struct(C# 參考)
- uint(C# 參考)
- ulong(C# 參考)
- ushort(C# 參考)
- 引用類型(C# 參考)
- class(C# 參考)
- 委托(C# 參考)
- dynamic(C# 參考)
- 接口(C# 參考)
- object(C# 參考)
- string(C# 參考)
- 內插字符串(C# 和 Visual Basic 引用)
- void(C# 參考)
- var(C# 參考)
- 類型參考表(C# 參考)
- 內置類型表(C# 參考)
- 整型表(C# 參考)
- 浮點型表(C# 參考)
- 默認值表(C# 參考)
- 值類型表(C# 參考)
- 隱式數值轉換表(C# 參考)
- 顯式數值轉換表(C# 參考)
- 設置數值結果表的格式(C# 參考)
- 修飾符(C# 參考)
- 訪問修飾符(C# 參考)
- 可訪問性級別(C# 參考)
- 可訪問域(C# 參考)
- 可訪問性級別的使用限制(C# 參考)
- internal(C# 參考)
- private(C# 參考)
- protected(C# 參考)
- public(C# 參考)
- abstract(C# 參考)
- async(C# 參考)
- const(C# 參考)
- event(C# 參考)
- extern(C# 參考)
- in(泛型修飾符)(C# 參考)
- out(泛型修飾符)(C# 參考)
- override(C# 參考)
- readonly(C# 參考)
- sealed(C# 參考)
- static(C# 參考)
- unsafe(C# 參考)
- virtual(C# 參考)
- volatile(C# 參考)
- 語句關鍵字(C# 參考)
- 選擇語句(C# 參考)
- if-else(C# 參考)
- switch(C# 參考)
- 迭代語句(C# 參考)
- do(C# 參考)
- for(C# 參考)
- foreach,in(C# 參考)
- while(C# 參考)
- 跳轉語句(C# 參考)
- break(C# 參考)
- continue(C# 參考)
- goto(C# 參考)
- return(C# 參考)
- 異常處理語句(C# 參考)
- throw(C# 參考)
- try-catch(C# 參考)
- try-finally(C# 參考)
- try-catch-finally(C# 參考)
- Checked 和 Unchecked(C# 參考)
- checked(C# 參考)
- unchecked(C# 參考)
- fixed 語句(C# 參考)
- “鎖定”語句(C# 參考)
- 方法參數(C# 參考)
- params(C# 參考)
- ref(C# 參考)
- out(C# 參考)
- out 參數修飾符(C# 參考)
- 命名空間關鍵字(C# 參考)
- 命名空間(C# 參考)
- using(C# 參考)
- using 指令(C# 參考)
- using 語句(C# 參考)
- 外部別名(C# 參考)
- 運算符關鍵字(C# 參考)
- as(C# 參考)
- await(C# 參考)
- is(C# 參考)
- new(C# 參考)
- new 運算符(C# 參考)
- new 修飾符(C# 參考)
- new 約束(C# 參考)
- sizeof(C# 參考)
- typeof(C# 參考)
- true(C# 參考)
- true 運算符(C# 參考)
- true 字面常數(C# 參考)
- false(C# 參考)
- false 運算符(C# 參考)
- false 字面常數(C# 參考)
- stackalloc(C# 參考)
- nameof(C# 和 Visual Basic 引用)
- 轉換關鍵字(C# 參考)
- explicit(C# 參考)
- implicit(C# 參考)
- 運算符(C# 參考)
- 訪問關鍵字(C# 參考)
- base(C# 參考)
- this(C# 參考)
- 文字關鍵字(C# 參考)
- null(C# 參考)
- default(C# 參考)
- 上下文關鍵字(C# 參考)
- add(C# 參考)
- get(C# 參考)
- global(C# 參考)
- 分部(類型)(C# 參考)
- 分部(方法)(C# 參考)
- remove(C# 參考)
- set(C# 參考)
- where(泛型類型約束)(C# 參考)
- value(C# 參考)
- yield(C# 參考)
- 查詢關鍵字(C# 參考)
- from 子句(C# 參考)
- where 子句(C# 參考)
- select 子句(C# 參考)
- group 子句(C# 參考)
- into(C# 參考)
- orderby 子句(C# 參考)
- join 子句(C# 參考)
- let 子句(C# 參考)
- ascending(C# 參考)
- descending(C# 參考)
- on(C# 參考)
- equals(C# 參考)
- by(C# 參考)
- in(C# 參考)
- C# 運算符
- 運算符(C# 參考)
- () 運算符(C# 參考)
- . 運算符(C# 參考)
- :: 運算符(C# 參考)
- + 運算符(C# 參考)
- - 運算符(C# 參考)
- * 運算符(C# 參考)
- / 運算符(C# 參考)
- % 運算符(C# 參考)
- & 運算符(C# 參考)
- | 運算符(C# 參考)
- ^ 運算符(C# 參考)
- ! 運算符(C# 參考)
- ~ 運算符(C# 參考)
- = 運算符(C# 參考)
- &lt; 運算符(C# 參考)
- &gt; 運算符(C# 參考)
- ?: 運算符(C# 參考)
- ++ 運算符(C# 參考)
- -- 運算符(C# 參考)
- && 運算符(C# 參考)
- || 運算符(C# 參考)
- &lt;&lt; 運算符(C# 參考)
- &gt;&gt; 運算符(C# 參考)
- == 運算符(C# 參考)
- != 運算符(C# 參考)
- &lt;= 運算符(C# 參考)
- &gt;= 運算符(C# 參考)
- += 運算符(C# 參考)
- -= 運算符(C# 參考)
- *= 運算符(C# 參考)
- /= 運算符(C# 參考)
- %= 運算符(C# 參考)
- &= 運算符(C# 參考)
- |= 運算符(C# 參考)
- ^= 運算符(C# 參考)
- &lt;&lt;= 運算符(C# 參考)
- &gt;&gt;= 運算符(C# 參考)
- -&gt; 運算符(C# 參考)
- ?? 運算符(C# 參考)
- =&gt; 運算符(C# 參考)
- NULL 條件運算符(C# 和 Visual Basic)
- C# 預處理器指令
- #if(C# 參考)
- #else(C# 參考)
- #elif(C# 參考)
- #endif(C# 參考)
- #define(C# 參考)
- #undef(C# 參考)
- #warning(C# 參考)
- #error(C# 參考)
- #line(C# 參考)
- #region(C# 參考)
- #endregion(C# 參考)
- #pragma(C# 參考)
- #pragma warning(C# 參考)
- #pragma checksum(C# 參考)
- C# Compiler Options
- Command-line Building With csc.exe
- How to: Set Environment Variables for the Visual Studio Command Line
- Deployment of C# Applications
- C# Compiler Options Listed by Category
- C# Compiler Options Listed Alphabetically
- @ (C# Compiler Options)
- /addmodule (C# Compiler Options)
- /appconfig (C# Compiler Options)
- /baseaddress (C# Compiler Options)
- /bugreport (C# Compiler Options)
- /checked (C# Compiler Options)
- /codepage (C# Compiler Options)
- /debug (C# Compiler Options)
- /define (C# Compiler Options)
- /delaysign (C# Compiler Options)
- /doc (C# Compiler Options)
- /errorreport (C# Compiler Options)
- /filealign (C# Compiler Options)
- /fullpaths (C# Compiler Options)
- /help, /? (C# Compiler Options)
- /highentropyva (C# Compiler Options)
- /keycontainer (C# Compiler Options)
- /keyfile (C# Compiler Options)
- /langversion (C# Compiler Options)
- /lib (C# Compiler Options)
- /link (C# Compiler Options)
- /linkresource (C# Compiler Options)
- /main (C# Compiler Options)
- /moduleassemblyname (C# Compiler Option)
- /noconfig (C# Compiler Options)
- /nologo (C# Compiler Options)
- /nostdlib (C# Compiler Options)
- /nowarn (C# Compiler Options)
- /nowin32manifest (C# Compiler Options)
- /optimize (C# Compiler Options)
- /out (C# Compiler Options)
- /pdb (C# Compiler Options)
- /platform (C# Compiler Options)
- /preferreduilang (C# Compiler Options)
- /recurse (C# Compiler Options)
- /reference (C# Compiler Options)
- /resource (C# Compiler Options)
- /subsystemversion (C# Compiler Options)
- /target (C# Compiler Options)
- /target:appcontainerexe(C# 編譯器選項)
- /target:exe (C# Compiler Options)
- /target:library (C# Compiler Options)
- /target:module (C# Compiler Options)
- /target:winexe (C# Compiler Options)
- /target:winmdobj(C# 編譯器選項)
- /unsafe (C# Compiler Options)
- /utf8output (C# Compiler Options)
- /warn (C# Compiler Options)
- /warnaserror (C# Compiler Options)
- /win32icon (C# Compiler Options)
- /win32manifest (C# Compiler Options)
- /win32res (C# Compiler Options)
- C# Compiler Errors
- Compiler Error CS0001
- Compiler Error CS0006
- Compiler Error CS0007
- 編譯器錯誤 CS0015
- Compiler Error CS0016
- Compiler Error CS0019
- Compiler Error CS0029
- Compiler Error CS0034
- Compiler Error CS0038
- Compiler Error CS0039
- Compiler Error CS0050
- Compiler Error CS0051
- Compiler Error CS0052
- Compiler Error CS0071
- Compiler Error CS0103
- Compiler Error CS0106
- Compiler Error CS0115
- Compiler Error CS0116
- Compiler Error CS0120
- Compiler Error CS0122
- Compiler Error CS0134
- Compiler Error CS0151
- 編譯器錯誤 CS0163
- Compiler Error CS0165
- Compiler Error CS0173
- Compiler Error CS0178
- Compiler Error CS0188
- Compiler Error CS0201
- Compiler Error CS0229
- Compiler Error CS0233
- Compiler Error CS0234
- Compiler Error CS0246
- Compiler Error CS0260
- Compiler Error CS0266
- Compiler Error CS0269
- Compiler Error CS0270
- Compiler Error CS0304
- Compiler Error CS0310
- Compiler Error CS0311
- Compiler Error CS0413
- Compiler Error CS0417
- Compiler Error CS0433
- Compiler Error CS0445
- Compiler Error CS0446
- Compiler Error CS0504
- 編譯器錯誤 CS0507
- Compiler Error CS0518
- Compiler Error CS0523
- Compiler Error CS0545
- Compiler Error CS0552
- Compiler Error CS0563
- Compiler Error CS0570
- Compiler Error CS0571
- Compiler Error CS0579
- Compiler Error CS0592
- Compiler Error CS0616
- Compiler Error CS0650
- Compiler Error CS0686
- Compiler Error CS0702
- 編譯器錯誤 CS0703
- Compiler Error CS0731
- Compiler Error CS0826
- Compiler Error CS0834
- Compiler Error CS0840
- 編譯器錯誤 CS0843
- Compiler Error CS0845
- Compiler Error CS1001
- Compiler Error CS1009
- Compiler Error CS1018
- Compiler Error CS1019
- Compiler Error CS1026
- Compiler Error CS1029
- Compiler Error CS1061
- Compiler Error CS1112
- 編譯器錯誤 CS1501
- Compiler Error CS1502
- Compiler Error CS1519
- Compiler Error CS1540
- Compiler Error CS1546
- Compiler Error CS1548
- Compiler Error CS1564
- Compiler Error CS1567
- Compiler Error CS1579
- Compiler Error CS1612
- Compiler Error CS1614
- Compiler Error CS1640
- Compiler Error CS1644
- Compiler Error CS1656
- Compiler Error CS1674
- Compiler Error CS1703
- Compiler Error CS1704
- Compiler Error CS1705
- Compiler Error CS1708
- Compiler Error CS1716
- 編譯器錯誤 CS1721
- Compiler Error CS1726
- Compiler Error CS1729
- Compiler Error CS1919
- Compiler Error CS1921
- Compiler Error CS1926
- Compiler Error CS1933
- Compiler Error CS1936
- Compiler Error CS1941
- Compiler Error CS1942
- Compiler Error CS1943
- Compiler Error CS1946
- 編譯器錯誤 CS2032
- Compiler Warning (level 1) CS0420
- Compiler Warning (level 1) CS0465
- Compiler Warning (level 1) CS1058
- Compiler Warning (level 1) CS1060
- Compiler Warning (level 1) CS1598
- Compiler Warning (level 1) CS1607
- Compiler Warning (level 1) CS1616
- Compiler Warning (level 1) CS1658
- Compiler Warning (level 1) CS1683
- Compiler Warning (level 1) CS1685
- Compiler Warning (level 1) CS1690
- Compiler Warning (level 1) CS1691
- Compiler Warning (level 1) CS1699
- Compiler Warning (level 1) CS1762
- Compiler Warning (level 1) CS1956
- Compiler Warning (level 1) CS3003
- Compiler Warning (level 1) CS3007
- Compiler Warning (level 1) CS3009
- 編譯器警告(等級 1)CS4014
- Compiler Warning (level 2) CS0108
- 編譯器警告(等級 2)CS0467
- Compiler Warning (level 2) CS0618
- Compiler Warning (level 2) CS1701
- Compiler Warning (level 3) CS0675
- Compiler Warning (level 3) CS1700
- Compiler Warning (level 4) CS0429
- Compiler Warning (level 4) CS1591
- Compiler Warning (level 4) CS1610
- C# 語言規范