关键字是用于定义 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: 程序的入口点