作者:李坤凤
本次任务完成时间:2019年7月31日
开发工具与关键技术:C# 开发工具:Visual Studio 关键技术: Lambda表达式
1、“Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。
2、Lambda 用在基于方法的 LINQ 查询中,作为诸如 Where 和 Where 等标准查询运算符方法的参数。
3、Lambda 表达式只是一种用于构造表达式目录树的非常简练的方式。尽管事实上通过 Lambda 创建的对象的类型是不同的,但 Lambda 使得 Where 调用看起来类似。
4、类SQL语言写法 最终编译器会把它转化为lamda表达式
5、Linq使用group by按UserID用户ID查询出用户最高的成绩信息,最后转换成表格;
6、Linq是一种面向对象的查询方式,它和SQL语句及其类似,sql写法 select * from 表 Linq写法 from n in 数据源 select n;
7、Linq的查询对象可以是所有实现了IEnumerable的类型,比如数组,数据库集合(DataTable,DataSet…),Arraylist,List,
用Linq这种写法对于我们来说更加的直观,当然你也可以使用foreach和for。相对于这两种查询语句,Linq执行的效率和性能要优胜,
namespace LinqDemos
{
class Program
{
static void Main(string[] args)
{
int[] num = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 1000 };
var n = from number in num where number % 2 == 0 select number;
foreach (int a in n)
{
Console.WriteLine(a.ToString());
}
ArrayList arr = new ArrayList();
arr.Add(new Student { Name = "张三", Age = 12, Addresss = "莆田" });
arr.Add(new Student { Name = "王三", Age = 12, Addresss = "福州" });
var data = from Student stu in arr where stu.Name == "王三" select stu;
foreach (Student item in data)
{
Console.WriteLine(item.Name);
}
}
}