回答
lambda
表达式是一个通用术语,可用于许多编程语言,它们的语义有时是不同的。
简而言之,lambda表达式通常是一个没有名称的函数,允许函数作为第一类对象的语言(即传递它们并从函数返回)。
Python的例子:
map(lambda x: x * 2, mylist)
返回与的2倍元素在mylist
(**)
还有Lambda Calculus,这是更数学元素的列表。
(**)到Python较真:我知道名单内涵是在这种情况下更好的,我只是想说明如何使用lambda
的LINQ总是与Lambda表达式相关。在.NET 2.0中,我们有匿名方法的概念,它允许您在不需要编写委托函数的情况下编写内联函数体。 .NET 3.5的Lambda表达式是为了体现Annonymous函数写作的概念。
检查this出。
兰姆达斯比匿名方法走得更远;只涵盖了一半的情景,坦率地说,不那么有趣的一半。 – 2010-03-29 11:23:11
我是完全同意你的意见,但我只是想给xyz一个非常简单的介绍。因为两条三线你不能解释Lambda的整个概念。 – 2010-03-29 11:30:51
C#中的Lambdas是一个两面兽。它们可以运行非常多的like anonymous methods,或者(取决于方法签名)C#编译器可以编译它们into Expression
trees。两个MSDN链接(以前)应该有所帮助;否则像C# in Depth这样的书可能会为你点亮几个灯泡。或者我覆盖了很多表达式树(on my blog(or here))。
如果你正在谈论他们在LINQ-to-SQL,Entity Framework等中的使用 - 那么它就是表达树方面的重要内容;它比匿名方法有更多的局限性(例如,你不能在.NET 3.5表达式树中有一个“声明体” - .NET 4.0树支持这一点,但C#4.0编译器仍然没有' T)。
两个很好的介绍到C#lambda表达式:
第(免责声明 - 我的博客)会给你的基本概念的简单说明。本书提供了所有相关主题的全面报道。
Lambda表达式是一个包含表达式和函数的匿名函数。它可以用来创建委托或表达式树。 这里是一个很好的初学者教程解释它Lambda expressions in C#
- 1. Lambda教程和解决Lambda函数
- 2. Joomla的好教程?
- 3. FakeItEasy的好教程
- 4. Interop.Excel.PivotTable的好教程
- 5. SlickGrid的好教程?
- 6. eVB的好教程
- 7. GWT DataGrid好的教程?
- 8. 一个好的JFace教程
- 9. 需要TabActivity的好教程
- 10. 良好的DataGridView教程
- 11. 任何好的SharpNEAT教程?
- 12. 好的Cocos2d iphone教程?
- 13. Resharper模板的好教程
- 14. Rails的好javascript教程
- 15. 好的开始CAML教程?
- 16. 好的Silverlight Custom ItemsControl教程
- 17. 好的PyQt教程需要
- 18. 关于XMPP的好教程?
- 19. 好的ASP.net 4 Vb.net教程?
- 20. Flex的良好papervision3D教程?
- 21. jsonlib和jersey的好教程
- 22. Visual Basic 6的好教程?
- 23. 良好的Alfresco教程?
- 24. 你好ListView教程问题
- 25. 好条纹教程/例子?
- 26. Ocamlgraph的任何好的教程?
- 27. 好的教程/ Sammy.js的链接
- 28. Hadoop的层叠好的教程
- 29. 一个很好的NASM/FASM教程?
- 30. 需要良好的MVVM教程WPF
请更具体。例如。你使用什么语言? – 2010-03-29 10:53:29
对不起,我忘了。这是C#。我已经补充说现在 – xyz 2010-03-29 11:02:34
我强烈建议你访问www.lambdaexpression.net – Delashmate 2011-09-16 10:10:45