Keywords


Keywords are reserved words predefined to the C# compiler. These keywords cannot be used as identifiers. However, if you want to use these keywords as identifiers, you may prefix the keyword with the @ character. The following table lists the reserved keywords in C#:

Reserved Keywords
abstract as base bool break byte
case catch char checked class const
continue decimal default delegate do double
else enum event explicit extern false
finally fixed float for foreach goto
if implicit in in (generic modifier) int interface
internal is lock long namespace new
null object operator out out (generic modifier) override
params private protected public readonly ref
return sbyte sealed short sizeof stackalloc
static string struct switch this throw
true try typeof uint ulong unchecked
unsafe ushort using virtual void volatile
while

In C#, some words having special meaning in context of code, such as get and set, are called contextual keywords and can be used as identifiers outside that context. Generally, as new keywords are added to the C# language, they are added as contextual keywords in order to avoid breaking programs written in earlier versions. The following table lists the contextual keywords in C#:

Contextual Keywords
add alias ascending descending dynamic from
get global group into join let
orderby partial (type) partial
(method)
remove select set