知识大全 C#3.0新体验(四)匿名函数

Posted 类型

篇首语:满堂花醉三千客,一剑霜寒十四州。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#3.0新体验(四)匿名函数相关的知识,希望对你有一定的参考价值。

C#3.0新体验(四)匿名函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  前言

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

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

  五 匿名函数

  //匿名函数

  var p = new Name= 张三 Age=

  var p = new Name= 李四 Age=

  var intArr = new[]

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

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

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

  class __Anonymous

  

  private string name

  private int age

  public string Namegetreturn name setname=value

  public int Agegetreturn age setage=value

  

  __Anonymous p = new __Anonymous ()

  p Name= 张三

  p Age=

cha138/Article/program/net/201311/13205

相关参考

知识大全 ASP.NET中如何使用匿名函数

ASP.NET中如何使用匿名函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  尝试从缓存中获取

知识大全 在Eclipse 3.1体验J2SE 5.0新特性四(图)

在Eclipse3.1体验J2SE5.0新特性四(图)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 关于C#3.0 新特性之对象构造者

关于C#3.0新特性之对象构造者  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#中加入的对象

知识大全 autoconf手册(四)

  对普通函数的检查  这些宏被用于寻找没有包括在特定函数测试宏中的函数如果函数可能出现在除了缺省C库以外的库中就要首先为这些库调用AC_CHECK_LIB如果你除了需要检查函数是否存在之外还要检查函

知识大全 Visual C# 3.0 新特性概览

VisualC#3.0新特性概览  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在发布VisualS

知识大全 新增匿名类[3]

  四扩展方法  这个世界上总是存在着很多奇妙的东西然而在这部分所介绍的扩展方法就是其中之一从字面上看可能读者很难猜透扩展方法是什么意思然而看了下面的例子就会感觉到非常的奇妙namespaceExtM

知识大全 介绍.NET Framework 3.0新特性

介绍.NETFramework3.0新特性  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  描述N

知识大全 百度贴吧匿名发帖的按钮在哪里啊

百度贴吧匿名发帖的按钮在哪里啊你好,现在贴吧升级,所有贴吧不能匿名发帖了,但是新注册帐号可以匿名,就是注册后直接邮箱登入,先别起使用者名称,发表后显示吧友ip,如果起了名就是使用者名称发帖了,不能匿名

知识大全 Servlet 3.0有哪些新的功能和特点

Servlet3.0有哪些新的功能和特点?  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Servl

知识大全 Spring 3.0 M2发布 大部分新特性开发完成

Spring3.0M2发布大部分新特性开发完成  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  期