ECMA-334 C# Language Specification

15: Statements

C# provides a variety of statements. [Note: Most of these statements will be familiar to developers who have programmed in C and C++. end note]

labeled-statement
declaration-statement
embedded-statement
embedded-statement
block
empty-statement
expression-statement
selection-statement
iteration-statement
jump-statement
try-statement
checked-statement
unchecked-statement
lock-statement
using-statement

The embedded-statement nonterminal is used for statements that appear within other statements. The use of embedded-statement rather than statement excludes the use of declaration statements and labeled statements in these contexts. [Example: The code
void F(bool b) {  
   if (b)  
   int i = 44;  
}  
results in a compile-time error because an if statement requires an embedded-statement rather than a statement for its if branch. If this code were permitted, then the variable i would be declared, but it could never be used. (Note, however, that by placing i's declaration in a block, the example is valid.) end example]

In This Section: