LINQ-Lambda表达式.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LINQ-Lambda表达式

LINQ -Lambda表达式 Posted on 2008-01-17 16:30 sunrack 阅读(167) 评论(0) ?编辑 收藏 网摘 所属分类: LINQ 一、什么时候使用Lambda表达式 ???? ????总的来说,Lambda 表达式可以用在任何需要使用匿名方法,或是代理的地方。编译器会将Lambda表达式编译为标准的匿名方法(可以使用ildasm.exe or reflector.exe得到确认)。 ???? ????比如:???? Listint?evenNumbers?=?list.FindAll(i?=?(i?%?2)?==?0); ????被编译为 Listint?evenNumbers?=?list.FindAll(delegate?(int?i) { ????return?(i?%?2)?==?0; }); 二、Lambda表达式的解读 Lambda表达式的写法 ArgumentsToProcess?=?StatementsToProcessThem(报表) 比如 //?i?is?our?parameter?list. //?(i?%?2)?==?0?is?our?statement?set?to?process?i. Listint?evenNumbers?=?list.FindAll(i?=?(i?%?2)?==?0); 应该这样来理解 //?My?list?of?parameters?(in?this?case?a?single?integer?named?i) //?will?be?processed?by?the?expression?(i?%?2)?==?0. Listint?evenNumbers?=?list.FindAll((i)?=?((i?%?2)?==?0)); 可以显式指定输入参数的类型 Listint?evenNumbers?=?list.FindAll((int?i)?=?(i?%?2)?==?0); 可以使用括号把输入参数和表达式括起来,如果参数或处理表达式只有一个,可以省略括号 Listint?evenNumbers?=?list.FindAll((i)?=?((i?%?2)?==?0)); 有多行处理表达式时,需要使用花括号包起来 Listint?evenNumbers?=?list.FindAll((i)?= { Console.WriteLine(value?of?i?is?currently:?{0},?i); bool?isEven?=?((i?%?2)?==?0); return?isEven; }); 当输入参数有多个时 SimpleMath?m?=?new?SimpleMath(); m.SetMathHandler((msg,?result)?= {Console.WriteLine(Message:?{0},?Result:?{1},?msg,?result);}); 或者显式指定输入参数类型 m.SetMathHandler((string?msg,?int?result)?= {Console.WriteLine(Message:?{0},?Result:?{1},?msg,?result);}); ? 当没有输入参数时 VerySimpleDelegate?d?=?new?VerySimpleDelegate(?()?=?{return?Enjoy?your?string!;}?); LINQ Lambda表达式 实例 Posted on 2008-02-18 09:56 sunrack 阅读(136) 评论(0) ?编辑 收藏 网摘 所属分类: LINQ Lambda表达式可以在使用代理和匿名代理的地方 1、命名函数 public?class?Common { public?delegate?bool?IntFilter(int?i); public?static?int[]?FilterArrayOfInts(int[]?ints,?IntFilter?filter) { ArrayList?aList?=?new?ArrayList(); foreach?(int?i?in?ints) { if?(filter(i)) { aList.Add(i); } } return?((int[])aList.ToArray(typeof(int))); } } public?class?Application { public?static?bool?IsOdd(int?i) { return?((i??1)?==?1); } } using?System.Collections; int[

文档评论(0)

peain + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档