C# Linq和Lambda的工作原理
lambda表达式在内部是如何工作的?表达式树的作用是什么 还有linq是如何扩展到lambda和hereforth到表达式树的 。。。这是在一次采访中被问到的 如果有人知道,请分享 谢谢 lambda表达式是一个匿名函数,可以包含表达式和语句,并可用于创建委托或表达式树类型C# Linq和Lambda的工作原理,c#,C#,lambda表达式在内部是如何工作的?表达式树的作用是什么 还有linq是如何扩展到lambda和hereforth到表达式树的 。。。这是在一次采访中被问到的 如果有人知道,请分享 谢谢 lambda表达式是一个匿名函数,可以包含表达式和语句,并可用于创建委托或表达式树类型 你可以通过上的例子来了解它。我想你在问两件事: 什么是表达树;他们的目的是什么 C#编译器如何翻译“查询表达式” 如果是这样,那么我的Edulinq博客文章可能会有所帮助: 总之: 表达式树是lambda表达
你可以通过上的例子来了解它。我想你在问两件事:
- 什么是表达树;他们的目的是什么
- C#编译器如何翻译“查询表达式”
- 表达式树是lambda表达式的数据表示形式(通常,您也可以自己构造),因此可以通过LINQ to SQL之类的代码对其进行分析,并将其转换为SQL。Lambda表达式也可以转换为委托实例,这与任何其他委托实例一样-基本上您可以执行它们,但无法真正了解其中的逻辑细节
- 查询表达式以一种相当简单的方式进行翻译,将“C#with Query expressions”翻译为“C#without Query expressions”,然后按正常方式编译。例如,查询:
翻译成from person in people where person.Age > 18 select person.Name
people.Where(person => person.Age > 18) .Select(person => person.Name)
第一篇(免责声明-我的博客)将给你一个基本概念的快速解释。本书全面介绍了所有相关主题。您还应在回答中区分编译委托的lambda表达式与实际为LambdaExpression表达式树(未编译)实例的lambda表达式@JeffN825:添加了lambda表达式也可以转换为委托。先生,这很好。。如果你能解释一下lambda是如何works@wanttolearn:“lambda如何工作”是一个相当模糊的问题。你到底是什么意思?你已经做了多少研究?如果你搜索“lambda expression C#”,你会得到很多点击率。。。