C#的linq和lambda

Lambda

Lambda简单来讲就是匿名函数,我们不声明方法名,只写一个方法体,这个方法体就是lambda表达式
目的是简化定义和使用匿名函数的代码

Linq

Linq是一种对集合、数据源的集成式查询方式,通过一堆方法从对某个或多个数据集中查询数据
它是对IEnumerable的扩展方法集,所以想要使用Linq的话,需要引用两个命名空间 System.Linq和System.Linq.Expressions。

Linq有两种使用方式,一种是通过方法链的方式调用,一种是类似SQL语句的方式进行数据查询。
方法链是基础,类SQL方式是语法糖。

IEnumerable scores = new List();//假设存放了某班50个人的语文成绩

使用方法链查询

获取分数大于60的所有分数:
IEnumerable result1 = scores.Where(t => t > 60);
获取分数大于等于60的数量:
int count = scores.Count(t => t >= 60);
统计分数总和:
int sum = scores.Sum();
获取所有分数个位上的数字:
IEnumerable result2 = scores.Select(t => t % 10);

使用类SQL形式查询

查询所有大于等于60的分数:
IEnumerable result3 = from score in scores
                where score >= 60
                select score;

类SQL形式有一个统一的格式写法,关键字from、in、select缺一不可:

你可能感兴趣的:(linq,c#,sql)