ECMA-334: 15. Statements
Microsoft .NET Framework, ASP.NET, Visual C# (CSharp, C Sharp, C-Sharp) Developer Training, Visual Studio
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]
- statement:
- 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
- yield-statement
The embedded-statement non-terminal 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]