`
北极的。鱼
  • 浏览: 159204 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

【转】LAMDA表达式学习

 
阅读更多

转自: http://www.cnblogs.com/TeyGao/archive/2012/08/14/2638859.html

 

很不错的解释

 

1. 普通绑定:

public void button1_Click(object sender, EventArgs e)
{
     MessageBox.Show("ok");
}

this.button1.Click += button1_Click;

 2. 匿名委托:

this.button1.Click += delegate(object sender, EventArgs e)
{
       MessageBox.Show("Click");
};

 3. LAMDA表达式:

this.button1.Click += ((sender, e) =>
       {
                MessageBox.Show("Click");
        }
);

 编译器会自动推算出表达式中的类型。

 

4. 过滤条件

List<User> users = new List<User>();
 Func<User, bool> predicate = (
        (user) =>
        {
              return user.UserId > 100;
         }
 );
List<User> temps = users.Where(predicate).ToList();

 等同于:

List<User> temps = users.Where(p => p.UserId > 100).ToList();

 

List<User> temps = (from p in users where p.UserId > 100 select p).ToList();

 

List<User> users = new List<User>();
Func<User, bool> predicate = (
     (user) => user.UserId > 100
);
List<User> temps = users.Where(predicate).ToList();

 单挑语句时不需要使用{},同时可以不使用return来返回结果。

5. 排序:

List<User> users = new List<User>();
List<User> temp1 = users.OrderBy(p=>p.UserId).ToList();
Func<User, int> orderby = (user => user.UserId);
List<User> temp2 = users.OrderBy(orderby).ToList();

 

分享到:
评论

相关推荐

    学习Java 8【Lamda表达式开发】免费视频

    本课程主要针对于Java 8(JDK 1.8)的新特性Lamda表达式进行了全面讲解。讲解了java基于函数编程的语法,以及与Lamda表达式操作有关的内建接口、批处理、MapReduce数据分析汇总处理。

    lamda表达式.rar

    在本压缩包文件"lamda表达式.rar"中,可能包含有关如何理解和使用C# Lambda表达式的详细教程或示例代码。 Lambda表达式的基本语法如下: ```csharp 参数 =&gt; 表达式 或 (参数列表) =&gt; { 代码块 } ``` 1. **单行...

    lamda表达式 part3

    通过本篇文章的学习,你应该能够理解和应用 `Function`, `Consumer`, `Supplier` 和 `Predicate` 这四个核心接口。此外,`java.util.function` 包中还包含了其他许多有用的接口,如 `UnaryOperator`、`Binary...

    C#源代码-匿名函数和lamda表达式的写法.zip

    通过这些源代码,你可以学习到如何在实际项目中应用匿名函数和Lambda表达式,提升代码的灵活性和效率。在深入研究这些示例时,你还会发现C#的其他高级特性,如闭包、变量捕获以及异步编程中的`async`和`await`关键字...

    java8lambda表达式Demo

    总的来说,“java8lambda表达式Demo”提供了一个很好的学习资源,帮助开发者理解如何在Android环境中有效地利用Java 8的Lambda表达式。通过研究这个Demo,你可以深入了解Lambda表达式如何简化代码,提高生产力,并为...

    lamda 优美表达式 可作为仿照的案例demo

    通过学习和实践Lambda,开发者可以更好地利用Java 8的功能,提高代码的可读性和可维护性。在日常开发中,我们应尽可能地利用Lambda表达式来优化代码,尤其是处理集合操作、多线程和事件驱动编程等场景。

    全面的Linq语法-SQL语法-lambda表达式对照(相同功能的不同于法)

    在.NET框架中,Language Integrated Query(LINQ)是一种强大的编程技术,它允许开发者使用一致的查询语法在各种数据源上进行操作,包括...通过对比学习,我们可以灵活地在不同的上下文中选择最适合的工具来解决问题。

    Lambda表达式学习教程

    学习Lambda表达式时,理解如何将代码块转化为函数对象、如何捕获上下文变量(包括局部变量和final变量)以及如何处理异常都是重要的知识点。 标签“表达式”暗示了教程可能涉及Lambda表达式在不同上下文中的用法,...

    Python中lambda表达式定义函数示例

    使用环境:需要先安装PyCharm(请自己百度下载安装),以及然后官网上下载Python 2.7版本,以及Python 3.7版本后,安装在自己的电脑上。...目的:帮助理解lambda表达式定义函数在Python中的具体使用。

    helloworld的qt

    基本事件的处理与过滤的学习、信号与槽的学习、QCreator的基本空控件与自定义控件的提升、Lamda表达式在Qt中代替槽函数的定义。还学习了Qt中多线程的使用,以及SQLite、MySql数据库在Qt中的应用,还有XML的简单使用...

    管理系统(.NET MVC)

    例如,`(x =&gt; x.Name == "John")`是一个简单的Lamda表达式,它接受一个参数x,并返回一个布尔值,判断x的Name属性是否等于"John"。 `Sql语句`在管理系统中不可或缺,用于与数据库进行交互。在.NET MVC项目中,通常...

    Lamda-Practice:Java 8 lambda表达式和功能接口的实践

    通过深入学习和实践"Lamda-Practice"项目,你不仅能够掌握Java 8的Lambda表达式和功能接口,还能进一步理解函数式编程思想,提升你的Java编程能力。在实际工作中,这些技能可以帮助你编写更简洁、更易维护的代码。

    分享在某机构学习Python 的100天本人写的源代码(入门级教程+源码).zip

    8. **函数式编程**:探索Python中的高阶函数,如map、filter和reduce,以及lamda表达式和闭包。 9. **正则表达式**:学习如何使用re模块进行文本匹配和操作,对字符串进行复杂处理。 10. **Web开发**:如果课程...

    python基础课程学习资料.zip

    这一章可能涵盖了函数式编程的特性,如高阶函数(如map()、filter()、reduce())、lamda表达式以及闭包。此外,可能会讲解Python的模块导入机制,如何使用import语句以及from...import语法,以及如何创建自定义模块...

    Python_大卫·阿滕伯勒讲述你的生活.zip

    8. **函数式编程**:利用高阶函数、lamda表达式和map、filter、reduce等函数式编程概念简化代码。 9. **调试和测试**:学习如何使用断点、日志和单元测试来确保代码的正确性。 10. **项目实践**:通过实际项目来...

    Python-关于Python必看的视频

    7. **函数式编程**:理解高阶函数、lamda表达式、map、filter、reduce等函数式编程概念和技巧。 8. **装饰器和上下文管理器**:装饰器可以扩展函数的功能,而上下文管理器用于资源的获取和释放,如使用with语句处理...

    python入门与进阶

    函数式编程概念在Python中也占有重要地位,如高阶函数map、filter和reduce,以及lamda表达式。此外,模块和包的导入与使用,如os、sys、datetime等内置模块,以及第三方库的使用方法也是基础学习的一部分。 进阶...

    Python 家庭作业.zip

    4. **函数**:函数是可重用代码块,Python支持定义普通函数和lamda表达式。函数可以接受参数并返回值,是模块化编程的关键。 5. **模块与包**:Python的模块化设计允许我们导入和使用已有的功能,如math模块进行...

    Python_Grok公开发布.zip

    6. **函数式编程**:使用map、filter、reduce等高阶函数,以及lamda表达式、列表推导式等特性。 7. **正则表达式**:如何使用re模块进行文本匹配和处理。 8. **网络编程**:HTTP请求、套接字编程,以及如何使用...

Global site tag (gtag.js) - Google Analytics