其实lambad表达式就是“函数”或者说是“方法”写法的一个进化,越来越简化而已,如数学方法里的f(X)。
匿名方法:顾名思义,匿名方法就是没有名称的方法,但是有定义参数。
匿名方法最明显的好处就是可以降低另写一个方法的工作量;另外一个好处就是可以访问调用者的变量,降低传参数的复杂度。
匿名方法不是一个事先定义的方法,而是使用一个委托的代码块,在使用时,这和普通方法没有区别,但是匿名方法可以在一定程度上减少系统开销。
books.Find(delegate(Book book){return book.Price < 50;});
lambad表达式:就是匿名方法的再一次简化,连声明参数的地方都省了。
books.Find(book=>book.Price<50);
匿名类:顾名思义,匿名类就是没有名称的类了。
var query1 =
from val1 in intAry1
join val2 in intAry2 on val1 % 5 equals val2 % 15
select new { VAL1 = val1, VAL2 = val2 };//匿名类结构