New data type var
The first new feature that is very important for LINQ is the new data type, var
. This is a new keyword that can be used to declare a variable and this variable can be initialized to any valid C# data.
In the C# 3.0 specification such variables are called implicitly-typed local variables.
A var
variable must be initialized when it is declared. The compile-time type of the initializer expression must not be of null
type but the runtime expression can be null
. Once it is initialized its data type is fixed to the type of the initial data.
The following statements are valid uses of the var
keyword:
// valid var statements var x = "1"; var n = 0; string s = "string"; var s2 = s; s2 = null; string s3 = null; var s4 = s3;
At compile time, the above var
statements are compiled to IL, like this:
string x = "1"; int n = 0; string s2 = s; string...