Lambda 表达式
“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式树类型。
所有 Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。该 Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块。可以将此表达式分配给委托类型。
Lambda表达式的语句必须放置在“{”和“}”之间,Lambda表达式最常用的用法就是查询。
- delegate int del(int i);
- static void Main(string[] args)
- {
- del myDelegate = x => x * x;
- int j = myDelegate(5); //j = 25
- }
- 例:LinqDBDataContext DB = new LinqDBDataContext();
- var query = fromproduct in DB.Product
- where product.Price == DB.Product.Max(p => p.Price)
- select product;
- GridView1.DataSource = query;
- GridView1.DataBind();
ambda 的基本结构为(arguments)-> body,有如下几种情况:
- 参数类型可推导时,不需要指定类型,如 (a) -> System.out.println(a)
- 当只有一个参数且类型可推导时,不强制写 (), 如 a -> System.out.println(a)
- 参数指定类型时,必须有括号,如 (int a) -> System.out.println(a)
- 参数可以为空,如 () -> System.out.println(“hello”)
- body 需要用 {} 包含语句,当只有一条语句时 {} 可省略