var 是3.5新出的一个定义变量的类型 其实也就是弱化类型的定义 VAR可代替任何类型 编译器会根据上下文来判断你到底是想用什么类型的 至于什么情况下用到VAR 我想就是你无法确定自己将用的是什么类型 就可以使用VAR 类似 OBJECT 但是效率比OBJECT高点。
或者通俗的讲:
var可以理解为匿名类型,我们可以认为它是一个声明变量的占位符。它主要用于在声明变量时,无法确定数据类型时使用。
使用var定义变量时有以下四个特点:
1. 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式: var s; s = “abcd”;
2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。
3. var要求是局部变量。
4. 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。
实例:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FirstPriject { class Program { static void Main(string[] args) { //声明并初始化变量 var name = "张三"; var age = 10; 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(); } } }
实例结果图: