Lambda表示式的幾種使用方式

2022-01-31 05:10:25 字數 1882 閱讀 7531

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 program

2

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表示式採用的是函式式程式設計,無...