ECMA-334 C# Language Specification15: Statements |
C# provides a variety of statements.
labeled-statement
declaration-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.
results in a compile-time error because an if statement requires an
void F(bool b) {
if (b)
int i = 44;
}
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: