Execution in a C# program is specified by a series of statements that execute sequentially in the textual order in which they appear. All statements in a procedural-based language such as C# are executed for their effect. For instance, a statement may assign an expression to a variable, repeatedly execute a list of statements, or jump to another statement.

So that multiple statements can be grouped together, zero or more statements may be enclosed in braces to form a statement block.

Expression Statements

An expression statement evaluates an expression, either assigning its result to a variable or generating side effects (i.e., method invocation, new, ++, --). An expression statement ends in a semicolon. For example:

int x = 5 + 6; // assign result
x++; // side effect
int y = Math.Min(x, 20); // side effect and assign result
Math.Min(x, y); // discards result, but ok, there is a
                // side effect
x == y; // error, has no side effect, and does not assign
        // result

Declaration Statements

A declaration statement declares a new variable, optionally assigning the result of an expression to that variable. A declaration statement ends in a semicolon:

int x = 100; // variable declaration
const int y = 110; // constant declaration

The scope of a local or constant variable extends to the end of the current block. You cannot declare another local variable with the same name in the current block or in any nested blocks. For example:

bool a = true; while(a) { int x = 5; if (x==5) { int ...

Get C# Language Pocket Reference now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.