一、概述
在C#3.0中,对语言方面做了很多方面的增强,其中的两项是匿名类型和隐式局部变量的声明。跟这两项都相关的有一个上下文关键字var。
二、匿名类型
我们常见的在C#中定义一个变量的语法格式是:数据类型 变量 = 变量值;,这样声明的变量,它的数据类型是确定的的,譬如:int a = 1;,string b = “Hello World”;,float c = 3;,变量a,b,c的数据类型分别是整型、字符串类型、浮点类型,这些都是类型确定的。但是在C#中,对这一块进行了增强,允许程序员定义一个没有类型,或者更准确的应该是类型不确定的的变量对象。如下所示:
var patent1 = new {Title = “Math” , Score = "100"};
var patent2 = new {Order = 1, Name = "dest"};
var patent3 = new { new { Year = 2018, Month = 10, Day = 20 }, Amount = 103};
三、隐式类型的局部变量
隐式类型的局部变量声明,例如:var text = “This is the test example!”;,用var关键字来声明变量。很明显,这也是一个类型隐性声明,但是编译器会在编译代码的时候,根据表达式右侧的值来推断和确定它的数据类型。