ECMA-334: 9.4.3 Keywords
Microsoft .NET Framework, ASP.NET, Visual C# (CSharp, C Sharp, C-Sharp) Developer Training, Visual Studio
| C# Language Specification |
| © 2006 ECMA International |
9.4.3 Keywords
A keyword is an identifier-like sequence of characters that is reserved, and cannot be used as an identifier except when prefaced by the @ character.
| keyword:: one of | ||||
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
| int
| interface
|
internal
| is
| lock
| long
| namespace
|
new
| null
| object
| operator
| out
|
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
|
The following identifiers have special meaning in the syntactic grammar, but they are not keywords: add (§17.7), alias (§16.3), get (§17.6.2), global (§16.7), partial (§17.1.4), remove (§17.7), set (§17.6.2), value (§17.6.2, §17.7.2), where (§25.7), and yield (§15.14). For convenience and clarity, these
identifiers appear as terminals in the syntactic grammar; however, they are identifiers. [Note: As a result,
unlike keywords, these identifiers can be written with a @ prefix and can contain unicode-escape-sequences. end note]