ECMA-334 C# Language Specification15.5.1: Local variable declarations |
A local-variable-declaration
declares one or more local variables.
type
local-variable-declarators
local-variable-declarator
local-variable-declarators
,
local-variable-declarator
identifier
identifier
=
local-variable-initializer
expression
array-initializer
The type of a local-variable-declaration
specifies the type of the variables introduced by the declaration.
The type is followed by a list of local-variable-declarator
s, each of which introduces a new variable. A local-variable-declarator
consists of an identifier that names the variable, optionally followed by an "=" token and a local-variable-initializer
that gives the initial value of the variable.
The value of a local variable is obtained in an expression using a simple-name
(14.5.2), and the value of a local variable is modified using an assignment (14.13). A local variable must be definitely assigned (12.3) at each location where its value is obtained.
The scope of a local variable declared in a local-variable-declaration
is the block in which the declaration occurs. It is an error to refer to a local variable in a textual position that precedes the local-variable-declarator
of the local variable. Within the scope of a local variable, it is a compile-time error to declare another local variable or constant with the same name.
A local variable declaration that declares multiple variables is equivalent to multiple declarations of single variables with the same type. Furthermore, a variable initializer in a local variable declaration corresponds exactly to an assignment statement that is inserted immediately after the declaration.
corresponds exactly to
void F() {
int x = 1, y, z = x * 2;
}
end example]
void F() {
int x; x = 1;
int y;
int z; z = x * 2;
}