一、前言
Lambda表达式实际上是一个匿名函数,=>
即为Lambda表达式的运算符,Lambda表达式可以取代一些繁琐的遍历过程,大大减少代码量,使得代码更加的优美、简洁,更有可观性。
1. where查询
// 大于20岁的学生
students.Where(s => s.Age > 20);
// 取出名字中有“小”的学生
students.Where(s => s.Name.Contains("小")).ToList();
2. select
// 获取所有学生的姓名,并去除重名
students.Select(s => s.Name).Distinct();
3. 函数计算
// 大于20岁的学生个数
students.Count(s => s.Age > 20);
// 大于20岁的学生的岁数之和
students.Where(s => s.Age > 20).Sum(s => s.Age)
// 学生中最大岁数
students.Max(s => s.Age);
4. 排序
// 按岁数正序进行排序
students.OrderBy(s => s.Age);
// 按岁数倒序进行排序
students.OrderByDescending(s => s.Age);
5. 分组
// 按班级分组,并找出每个班中的岁数最大的
var ss = students.GroupBy(s => s.Class);
foreach (var t in ss)
{
Response.Write(t.Key + "--" + t.Max(p => p.Age));
}