關鍵字是用來定義 C# 語言語法的字元標記。
所謂關鍵字,就是 C# 內建的專用詞彙,這類詞彙具備特殊用途,因此撰寫程式碼時不能拿這些詞做其他命名,像是變數名稱、函式名稱等等,一旦直接使用就會產生語義歧義。舉例來說,int 在 C# 代表整數型別,如果直接拿它當變數名宣告 bool int = 12;,編譯器就無法解析這行程式,原因就是 int 被系統保留作特殊用途。
關鍵字有兩項核心規則
關鍵字不能直接做為變數名或其他識別字,唯一例外是在關鍵字前方加上 @ 前置符。所有 C# 標準關鍵字皆為全小寫;.NET 內建型別名則採用大駝峰命名法(PascalCase)。
| abstract | const | extern | int | override | sizeof | typeof | |
| as | continue | false | interface | params | stackalloc | uint | |
| base | decimal | finally | internal | private | static | ulong | |
| bool | default | fixed | is | protected | string | unchecked | |
| break | delegate | float | lock | public | struct | unsafe | |
| byte | do | for | long | readonly | switch | ushort | |
| case | double | foreach | namespace | ref | this | using | |
| catch | else | goto | new | return | throw | virtual | |
| char | enum | if | null | sbyte | true | void | |
| checked | event | implicit | object | sealed | try | volatile | |
| class | explicit | in | operator | when | while |
全域保留字,任何場景都不能直接拿來命名,必須加上 @ 前置符
int @int; // 合法寫法
int int; // 編譯時發生錯誤Code language: JavaScript (javascript)
內容關鍵字
內容關鍵字(Contextual Keywords)
內容關鍵字只在特定語法結構中具備關鍵字的作用;和一般關鍵字不同,在程式其他位置可以直接當識別字使用。
| add | ascending | async | await | by | descending | dynamic |
| equals | from | get | global | group | in | into |
| join | let | on | orderby | partial | remove | select |
| set | value | var | where | yield |
僅在特定語法內生效,其餘位置可直接作為變數名
int var; // 合法,不在型別推斷語法時 var 不視為關鍵字
var num = 10; // 此處 var 做為關鍵字,用於隱性型別推導Code language: JavaScript (javascript)

前面範例裡圈選出來的單詞,全都屬於關鍵字。
Previous: 識別字(Identifiers)
Next: 程式的進入點