C# 对Lambda的表情很好奇

C# 对Lambda的表情很好奇,c#,C#,此Microsoft页面是否提供了学习lambda所需的所有信息,或者它是从其他来源学习的一个重要主题?我正在学习C语言,想知道microsoft C语言指南能否为我提供精通C语言所需的所有信息 非常感谢 在网上阅读书籍和其他信息并不能使你精通这个话题。你需要做一些实际工作才能真正理解并能够应用。技能!=知识。我认为MSDN帮助对于精通任何给定的语言概念都是足够的 考虑到您遵循了MSDN上提供的所有小示例和实践,您应该非常清楚基本原理 记住,只有通过练习,你才能学到任何东西。阅读Jon Skee

此Microsoft页面是否提供了学习lambda所需的所有信息,或者它是从其他来源学习的一个重要主题?我正在学习C语言,想知道microsoft C语言指南能否为我提供精通C语言所需的所有信息


非常感谢

在网上阅读书籍和其他信息并不能使你精通这个话题。你需要做一些实际工作才能真正理解并能够应用。技能!=知识。

我认为MSDN帮助对于精通任何给定的语言概念都是足够的

考虑到您遵循了MSDN上提供的所有小示例和实践,您应该非常清楚基本原理

记住,只有通过练习,你才能学到任何东西。

阅读Jon Skeet的“C#Depth”

简单的回答是,Lambda表达式是(容易)写入委托的方式之一(在Linq到对象的情况下)。对于提供程序(如Linq到SQL),它充当表达式树,提供程序可以解析表达式树,为底层数据源创建适当的查询


您还可以通过编写对象和sql的linq查询来学习它。比较C#在Reflector帮助下创建的实际代码。

另外两个关于C#lambda表达式的好介绍:

  • (我喜欢C#的深度,但认为这对LINQ更有利。)

第一篇(免责声明-我的博客)将给你一个基本概念的快速解释。这本书涵盖了所有相关主题。

我记得几年前我使用过这本指南,觉得它相当不错。它可能包含您需要的大部分信息。请记住,lambda在实例化符号时采用的是符号,而不是实际值。换句话说。。。如果在集合上循环并在lambda表达式中使用循环中的项,则在那里创建的每个lambda都将使用最后一个迭代值。可能还有其他一些边缘情况tooLambda的使用不是一个大主题,只是一个有用的主题:)一旦你习惯了语法,剩下的唯一棘手的部分就是与委托的交互(有时你被迫强制转换为P),以及与for循环相关的bug。本文简要介绍了表达式树,这是一个更深层次的主题,并且只与Lambdas相关。您将在LINQ中看到lambda的持续使用,因此使用LINQ越多,您对lambda的熟悉程度就越高。LINQ也是一个比Lambdas大得多的话题。