Ключевые слова — это символьные маркеры, определяющие синтаксис языка 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)

Все выделенные слова из предыдущего примера относятся к ключевым.