`
北极的。鱼
  • 浏览: 150694 次
  • 性别: 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数据分析汇总处理。

    C++ function、bind以及lamda表达式

    本文是C++0x系列的第四篇,主要是内容是C++0x中新增的lambda表达式, function对象和bind机制。之所以把这三块放在一起讲,是因为这三块之间有着非常密切的关系,通过对比学习,加深对这部分内容的理解。在开始之间...

    java8lambda表达式Demo

    java8lambda表达式的安卓Studio工程Demo,供初步学习使用

    Lambda表达式学习教程

    Lambda表达式学习教程,有代码demo示例,可以参考下的

    jdk8函数式编程学习和复习必备

    公司常用到lamda表达式,有了这个资料,走遍天下都不怕

    java lambda表达式用法总结

    主要介绍了java lamda表达式用法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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

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

    helloworld的qt

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

    lambda表达式解决java后台分组排序过程解析

    主要介绍了lambda表达式解决java后台分组排序过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    结合C++11新特性来学习C++中lambda表达式的用法

    主要介绍了C++中lambda表达式的用法,lambda表达式的引入可谓是C++11中的一大亮点,同时文中也涉及到了C++14标准中关于lambda的一些内容,需要的朋友可以参考下

    Java8与Scala中的Lambda表达式深入讲解

    主要给大家介绍了关于Java8与Scala中Lambda表达式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Global site tag (gtag.js) - Google Analytics