c#:浅析var关键字
1、var关键字介绍
var关键字是c#3.5新增的特性,称为推断类型(弱类型)。由var声明的变量,编译器会根据上下文来判断你到底想用什么类型。也就是说当你无法确定自己将使用什么类型时,就可以使用var,var类似于object,但是效率会比object高点。
什么是强类型,什么是弱类型?
**强类型:**在编译的时候已经确定了类型
弱类型:在程序运行的时候,才确定类型
我们可以赋予局部变量推断类型var,而不是显示类型。var关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、用户定义类型、NET Framework类库中定义的类型或任何表达式。
2、示例
(1) 在原先我们定义变量都是以这样的格式:数据类型 变量名=值;如下:
int a = 20;
string b="hellow";
也就是说,必须先明确的指定你变量的数据类型,才能给其赋值
(2)使用var关键字定义变量
var a = 20;
var b = "hellw";
在使用var关键字定义变量时,IDE或或者编译器会根据你右边的值来判断或者说“推断”出a或b是一个什么类型的数据。
(3)来获取一下a的值,验证它是否时Int类型的
static void Main(string[] args)
{
var a = 10;
Console.WriteLine(a.GetType());
Console.ReadLine();
}
输出结果:
3、var关键字的特点
(1)必须在定义时初始化,就是是说在定义的时候就要给其赋值
(2)一旦初始化完成后,就不能在再给变量赋予与初始值类型不同的值
(3)var只能用于声明局部变量
(4)使用var定义变量和object定义变量不同,它在效率上和使用强类型方式定义变量完全一样
var a = 10;
//等同于
int a1 = 10;
4、使用建议
过度的使用var关键字定义变量会使源代码难以理解。只有在有必要的时候,才推荐使用var关键字。如:当变量用来存储一个匿名类型或者匿名类型集合的时候。