關鍵字

關鍵字是用來定義 C# 語言語法的字元標記。

所謂關鍵字,就是 C# 內建的專用詞彙,這類詞彙具備特殊用途,因此撰寫程式碼時不能拿這些詞做其他命名,像是變數名稱、函式名稱等等,一旦直接使用就會產生語義歧義。舉例來說,int 在 C# 代表整數型別,如果直接拿它當變數名宣告 bool int = 12;,編譯器就無法解析這行程式,原因就是 int 被系統保留作特殊用途。

關鍵字有兩項核心規則

關鍵字不能直接做為變數名或其他識別字,唯一例外是在關鍵字前方加上 @ 前置符。所有 C# 標準關鍵字皆為全小寫;.NET 內建型別名則採用大駝峰命名法(PascalCase)。

abstractconstexternintoverridesizeoftypeof
ascontinuefalseinterfaceparamsstackallocuint
basedecimalfinallyinternalprivatestaticulong
booldefaultfixedisprotectedstringunchecked
breakdelegatefloatlockpublicstructunsafe
bytedoforlongreadonlyswitchushort
casedoubleforeachnamespacerefthisusing
catchelsegotonewreturnthrowvirtual
charenumifnullsbytetruevoid
checkedeventimplicitobjectsealedtryvolatile
classexplicitinoperatorwhenwhile

全域保留字,任何場景都不能直接拿來命名,必須加上 @ 前置符

int @int; // 合法寫法
int int;  // 編譯時發生錯誤Code language: JavaScript (javascript)

內容關鍵字

內容關鍵字(Contextual Keywords)

內容關鍵字只在特定語法結構中具備關鍵字的作用;和一般關鍵字不同,在程式其他位置可以直接當識別字使用。

addascendingasyncawaitbydescendingdynamic
equalsfromgetglobalgroupininto
joinletonorderbypartialremoveselect
setvaluevarwhereyield

僅在特定語法內生效,其餘位置可直接作為變數名

int var; // 合法,不在型別推斷語法時 var 不視為關鍵字
var num = 10; // 此處 var 做為關鍵字,用於隱性型別推導Code language: JavaScript (javascript)

前面範例裡圈選出來的單詞,全都屬於關鍵字。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *