C# .NET - LINQ - Key Word Var
使用var关键字声明隐型局部变量
在JavaScript语言中,可以使用var声名变量,使用var声明的变量,既可以使用数字赋值,也可以使用字符串赋值,例如:
var color = "Pink",
long = 30,
material= "plastic";
在C#语言中,初始版本并没有var关键字,到了C# 3.0版本才增加了var关键字。从 C# 3.0 开始,在方法范围内声明的变量可以具有隐式“类型”var。 隐式类型本地变量为强类型,就像用户已经自行声明该类型,但编译器决定类型一样。

C#1.0、1.1及2.0版本中,如果要声明一个变量,必须指定变量的类型,但在C#后期版本中声明变量时,可以不明确指定其数据类型,而使用关键字var来声明。var关键字用来创建隐型局部变量,它指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。
例如,使用var关键字声明一个隐型局部变量,并赋值为字符串"Hovertree",代码如下。
var h_name="Hovertree";
在很多情况下,var是可选的,它只是提供了语法上的便利。但在使用匿名类型初始化变量时,需要使用它,这在LINQ查询表达式中很常见。由于只有编译器知道匿名类型的名称,因此必须在源代码中使用var。如果已经使用var初始化了查询变量,则还必须使用var作为对查询变量进行循环访问的foreach语句中迭代变量的类型。
使用隐式类型的变量时,需要遵循以下规则。
 只有在同一语句中声明和初始化局部变量时,才能使用var;不能将该变量初始化为null。
 不能将var用于类范围的域。
 由var声明的变量不能用在初始化表达式中,比如var v=v++;,这样会产生编译时错误。
 不能在同一语句中初始化多个隐式类型的变量。
 如果一个名为var的类型位于范围中,则当尝试用var关键字初始化局部变量时,将产生编译时错误。
收藏 列表

评论:

何问起键盘