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]

statement
: labeled-statementdeclaration-statementembedded-statement
embedded-statement
: blockempty-statementexpression-statementselection-statementiteration-statementjump-statementtry-statementchecked-statementunchecked-statementlock-statementusing-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]