C# provides a variety of statements. Most of these statements will be familiar to developers who have programmed in C and C++.
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. For example, the code
void F(bool b) { if (b) int i = 44; }
is in 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.