Lambda
Lambda表达式和匿名方法很相似,但Lambda表达式比匿名方法更灵活,并且语法比匿名方法更简洁。
在LINQ中可以使用Lambda表达式创建委托,这些委托将稍后执行查询时被调用。
Lambda表达式使用的操作符“=>”。这个操作符的意思就是“流入”,左侧为任意的输入参数,右侧可以表达式,也可以语句块。
Lambda可以包括任意数量的语句,但它通常会保持为两个或三个语句,主要为了便于阅读以及防止它太过复杂。
使用Lambda表达式需记住以下规则:
1.如果Lambda表达式返回一个值,返回值必须隐式地转换成委托类型。
2.Lambda表达式包含的参数数目必须同委托类型的参数数目相同。
3.每个输入参数必须隐式地转换相应的委托参数。
var pro=context.products.Single(p=>p.id==id);
此查询也可以写为:
var pro=from c in context where c.id==id select c;
这两个查询返回相同的输出结构,但是Lambda表达式使用方法语法以内连接表达式的方式变成写查询。
Single标准查询操作符来返回序列中的单个元素。操作符左边的p是输入变量,对应于查询表达式的p