lambda 的表示式的編寫格式如下:
x=> x * 1.5
當中 「 => 」 是 lambda 表示式的操作符,在左邊用作定義乙個引數列表,右邊可以操作這些引數。
例一, 先把 int x 設定 1000,通過 action 把表示式定義為 x=x+500 ,最後通過 invoke 激發委託。
1 static void main(string args)2
例二,通過 action把表示式定義 x=x+500, 到最後輸入引數1000,得到的結果與例子一相同。
注意,此處lambda表示式定義的操作使用 括弧包括在一起,裡面可以包含一系列的操作。
1 static void main(string args)2 ;
8 action.invoke(1000);
9 console.readkey();
10 }
例三,定義乙個predicate,當輸入值大約等於1000則返回 true , 否則返回 false。與5.3.1的例子相比,predicate的繫結不需要顯式建立乙個方法,而是直接在lambda表示式裡完成,簡潔方 便了不少。
1 static void main(string args)2 ;
10 bool result=predicate.invoke(500);
11 console.readkey();
12 }
例四,在計算商品的**時,當商品重量超過30kg則打9折,其他按原價處理。此時可以使用func,引數1為商品原價,引數2為商品重量,最後返回值為 double 型別。
1 static void main(string args)2 ;
10 double totalprice = func(200.0, 40);
11 console.readkey();
12 }
例五,使用lambda為button定義click事件的處理方法。與5.2的例子相比,使用lambda比使用匿名方法更加簡單。
1 static void main(string args)2 ;
8 console.readkey();
9 }
例六,此處使用5.3.1的例子,在list的findall方法中直接使用lambda表示式。
相比之下,使用lambda表示式,不需要定義predicate物件,也不需要顯式設定繫結方法,簡化了不工序。
1 class program2
12 13 //模擬源資料
14 static listgetlist()
15
22 }
23
24 public class person
25
32
33 public int id
34
35 public string name
36
37 public int age
38
39 }
Lambda表示式幾種形式
1.形式一 只包含乙個引數 actionlistener oneargu event system.out.println hello world 2.形式二 不含引數 runnable noarguments system.out.println hello world 3.形式三 主體是乙個 塊...
lambda表示式 lambda表示式
1.概述 c 11 中的 lambda 表示式用於定義並建立匿名的函式物件,以簡化程式設計工作。lambda 的語法形式如下 函式物件引數 操作符過載函式引數 mutable 或 exception 宣告 返回值型別可以看到,lambda 主要分為五個部分 函式物件引數 操作符過載函式引數 muta...
lambda表示式的使用
在jdk1.8中新增加了lambda表示式,可能有的小夥伴在github上面學習別人的專案的時候會看到有這樣的符號 乙個箭頭類似於js中的箭頭函式,很神奇吧,這個就是jdk8中新增的lambda表示式。有的小夥伴可能會問為什麼我們要使用lambda表示式,lambda表示式採用的是函式式程式設計,無...