一、C# 中的var关键字
var是3.5新出的一个定义变量的类型,其实也就是弱化类型的定义,var可代替任何类型,编译器会根据上下文来判断你到底是想用什么类型的,至于什么情况下用到var,我想就是你无法确定自己将用的是什么类型,就可以使用var,类似object但是效率比object高点。
举个例子:假如我们现在要遍历一个数组,此时我们并不知道数组中存储的数据类型是什么,那么此时,我们使用var关键字,就很合适了。
或者通俗的讲:var可以理解为匿名类型,我们可以认为它是一个声明变量的占位符。它主要用于在声明变量时,无法确定数据类型时使用。
二、使用var定义变量的特点
- 在定义变量的时候,必须先给值,不能为null,也不能只定义不给值。也就是说必须是
var s = “abcd”;
的形式,而不能是如下形式:var s; s = “abcd”;
。 - 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。
- var要求是局部变量,无法使用var来定义一个全局变量,只能定义在方法的内部(因为预先不可知,所以预先不可置)。
- 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。
- 不能用来定义函数的签名,包括返回值,参数类别。
三、示例讲解
1、代码
var name = "张三";
var age = 23;
var sex = true;
//获取变量的数据类型
Type t_Name = name.GetType();
Type t_Age = age.GetType();
Type t_Sex = sex.GetType();
//打印结果
Console.WriteLine("变量name的类型是{0},变量age的类型是{1},变量sex的类型是{2}", t_Name.ToString(),t_Age.ToString(),t_Sex.ToString());
//不自动关闭控制台,等待输入
Console.ReadLine();
2、执行效果