概述C 概述财务实习过程
创始人
2024-04-23 09:01:10
0

放了一个长假,很是郁闷,休息没休息好,学习没学上,玩也没怎么玩……这7天怎么就没了?

哎,看来人生没计划,没安排就会混混沌沌的过一天又一天,都不知道自己到底在干嘛。这样下去只会一事无成!计划好每一天的工作、学习、生活,或者安排好每一件事情,每一个目标的计划,对取得成功还是非常有帮助的!

C# 匿名函数

  1. //匿名函数  
  2. varp1=new{Name="张三"Age=28};  
  3. varp2=new{Name="李四"Age=29};  
  4. varintArr=new[]{1,2,3,4,5}; 


首先我们来看一下上面这段代码,比较简单,和我们平时定义一个实例基本没什么区别,只是new后面没有跟具体定义的类型;这里我们使用new关键字调用匿名初始化器创建了一个匿名类型对象; 匿名类型直接继承自System.Object;匿名类型的成员是编译器根据初始化器推断而来的一些读写属性。

这里我们注意到C# 匿名函数基本上是配合隐式类型var来使用的,而且定义的顺序也是一定要注意,上面p1和p2初始化时定义的属性名、类型和顺序一致,因此编译器认为他们是同一个类型,可以使用p1=p2这样的赋值语句;特别是顺序需要注意,如果初始化时名称类型一致而顺序不一致,则p1和p2就是两个类型,如果使用p1=p2则编译时会抛出错误 :无法将类型“AnonymousType#1”隐式转换为“AnonymousType#2” .定义匿名函数时还需要注意,不能用null赋初始值。

C# 匿名函数解析:匿名函数的基础是对象初始化器,匿名类型从对象初始化器(object initializer)自动推断和生成的元组类型。下面我们来看看匿名函数到底怎么生成的和我们原来的定义方式有什么区别:var p1 = new {Name="张三",Age=28};我们给p1赋了一个匿名类型,在编译时,编译器使用对象初始化器推断的属性来创建见一个新的匿名类型,该类型拥有Name和Age的属性,在运行时,会创建新类型的一个实例同时Name和Age属性将会被设置为对象初始化器中指定的值“张三”、28;和上面几节里描述的一样这里大家一定会想到,肯定又是在编译器里封装了一些处理;确实是这样,下面这段代码描述编译器针对匿名函数语句具体做了哪些工作:

  1. class__Anonymous1  
  2. {  
  3. privatestringname;  
  4. privateintage;  
  5. publicstringName{get{returnname;}set{name=value;}}  
  6. publicintAge{get{returnage;}set{age=value;}}  
  7. }  
  8. __Anonymous1p1=new__Anonymous1();  
  9. p1.Name="张三";  
  10. p1.Age=28; 

这段代码就是我们非常熟悉的写法,编译器就是在后台依据匿名函数解析类型,创建新类,初始化对象;如果你创建了多个相似的匿名类型,C#编译器会聪明的发现这一点,只生成一个类和它的多个实例;小结匿名函数多数是和var隐式类型一起使用,因此多在局部(方法内部)内使用。同样匿名函数是编译器编译时创建,内部实现与我们原来的写法没有本质区别。

【编辑推荐】

  1. C#在应用程序间发送消息实现浅析
  2. 一些C#时间类型的入门知识
  3. C#接口和抽象类技术特点浅析
  4. 一个C#时间计算的实例
  5. C#继承知识详解

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...