C#教程:匿名类型和隐式类型变量的区别
隐式类型变量实际是编译器干的活(编译器局部变量的类型从初始化它们的表达式推导而来),所以 var i = 5; 这样的代码,编译后用 Reflector 再反编译看到的是:
匿名类型(Anonymous Types) 匿名类型,是从对象初始化器自动推导和创建的元组(tuple)类型。
就是 匿名类型的一种书写。 注意: var intArr = new[] {3,1,4,1,5} ; 是匿名类型,当然也是 隐式类型变量 var intArr = new int[] {3,1,4,1,5} ; 是隐式类型变量 匿名类型 和 隐式类型变量 的区别 隐式类型变量 指我们可以通过等号右边的表达式,推断出等号左边该是那种类型。 匿名类型则是指,根据这个类型的初始化函数,我们可以推导出和创建出这个类型的实例。 这两个特性很多时候是一起作用的。 比如: new {Name = "Hello", Age = 23 }这个表达式的类型是匿名的,因此o就会变成那个匿名类型。 其中的 Name = "Hello" 又可以看作是 隐式类型变量。 不过应该没有人会用var i = 10;这样看起来像jscript的语法,所以var基本上就是为匿名类型而生 . 说明: 以上信息都是基于 Orcas Beta 1 的。也许正式版的时候,会发生变化。 |
||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |