c# lambda表达式学习
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();
c# lambda表达式学习的更多相关文章
- C# Lambda 表达式学习之(三):动态构建类似于 c => c.Age == null || c.Age > 18 的表达式
可能你还感兴趣: 1. C# Lambda 表达式学习之(一):得到一个类的字段(Field)或属性(Property)名,强类型得到 2. C# Lambda 表达式学习之(二):LambdaExp ...
- C# Lambda 表达式学习之(四):动态构建类似于 c => c.Age == 2 || c.Age == 5 || c => c.Age == 17 等等一个或多个 OrElse 的表达式
可能你还感兴趣: 1. C# Lambda 表达式学习之(一):得到一个类的字段(Field)或属性(Property)名,强类型得到 2. C# Lambda 表达式学习之(二):LambdaExp ...
- java lambda表达式学习笔记
lambda是函数式编程(FP,functional program),在java8中引入,而C#很早之前就有了.在java中lambda表达式是'->',在C#中是‘=>’. 杜甫说:射 ...
- java 8 中lambda表达式学习
转自 http://blog.csdn.net/renfufei/article/details/24600507 http://www.jdon.com/idea/java/10-example-o ...
- C# Lambda表达式学习笔记
本笔记摘抄自:https://www.cnblogs.com/leslies2/archive/2012/03/22/2389318.html,记录一下学习过程以备后续查用. 一.Lambda ...
- Lambda 表达式 学习
最近几天在学习Lambda,给我的理解就是一个匿名函数的升级版,代码极大可能的简洁了很多,不需要像以前一样必须使用众多的代码才能实现相关功能. 慢慢积累学习,将Java 8的相关知识进行一个学习. 用 ...
- Python中lambda表达式学习
lambda只是一个表达式,函数体比def简单很多. lambda的主体是一个表达式,而不是一个代码块.仅仅能在lambda表达式中封装有限的逻辑进去. lambda表达式是起到一个函数速写的作用.允 ...
- C#Lambda表达式学习日记
Lambda表达式只是用更简单的方式来写匿名方法,彻底简化了对.NET委托类型的使用. 现在,如果我们要使用泛型 List<> 的 FindAll() 方法,当你从一个集合去提取子集时,可 ...
- C++11 lambda表达式学习
lambda表达式是函数式编程的基础.咱对于函数式编程也没有足够的理解,因此这里不敢胡言乱语,有兴趣的可以自己查找相关资料看下.这里只是介绍C++11中的lambda表达式自己的认识.这里有参考文档h ...
- python第l六天,lambda表达式学习,涉及filter及Map。
在python中lambda表达式可以作为匿名函数来使用,举一个简单的栗子: 以前我们写两个数相加的函数需要 #以前我们写两个数相加的函数,需要这样写 >>> def sum(x,y ...
随机推荐
- C# get post 的方法
#region GET POST /// <summary> /// Get String data = GetString(URL , "PKEY=" + Pkeyl ...
- scribe、chukwa、kafka、flume日志系统对比
scribe.chukwa.kafka.flume日志系统对比 1. 背景介绍许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理 这些日志需要特定的日志系统,一 ...
- mysql 数据操作 单表查询 having 过滤
SELECT 字段1,字段2... FROM 库名.表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 1.首先找到表 库.表 ...
- nodejs中使用linq
官网地址 https://github.com/mihaifm/linq 安装 npm install linq 导入 var Enumerable = require(‘linq‘); 例子 1 总 ...
- Django之Rest Framework框架
一.什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角度 ...
- Spark的Java API例子详解
package com.hand.study; import scala.Tuple2; import org.apache.spark.SparkConf; import org.apache.sp ...
- (1)R介绍
1. R初窥 从CRAN(The Comprehensive R Archive Network)cran.r-project.org—mirrors.html中选择一个镜像,然后下载合适的安装包(R ...
- testng日志和报告
TestNG是通过 Listeners 或者 Reporters 生成测试报告. Listeners,即 org.testng.ITestListener 的实现,能够在测试执行过程中发出各种测试结果 ...
- bootstrap fileinput api翻译笔记
bootstrap fileinput HTML标签属性 data-show-preview="false" // 是否显示预览区 multiple // 多文件 data-sho ...
- NodeJS学习笔记四
Generator简介 基本概念 Generator函数有多种理解角度.从语法上,首先可以把它理解成,Generator函数是一个状态机,封装了多个内部状态. 执行Generator函数会返回一个遍历 ...