LAMDA表示式學習

2021-06-20 04:02:18 字數 1221 閱讀 5605

1. 普通繫結:

public

void button1_click(object

sender, eventargs e)

this.button1.click += button1_click;

2. 匿名委託:

this.button1.click += delegate(object

sender, eventargs e)

;

3. lamda表示式:

this.button1.click += ((sender, e) =>

);

編譯器會自動推算出表示式中的型別。

4. 過濾條件:

listusers = new list();

func

bool> predicate =(

(user) =>

);list

temps = users.where(predicate).tolist();

等同於:

listtemps = users.where(p => p.userid > 100).tolist();

listtemps = (from p in users where p.userid > 100

select p).tolist();

listusers = new list();

func

bool> predicate =(

(user) => user.userid > 100

); list

temps = users.where(predicate).tolist();

單挑語句時不需要使用{},同時可以不使用return來返回結果。

5. 排序:

listusers = new list();

list

temp1 = users.orderby(p=>p.userid).tolist();

func

int> orderby = (user =>user.userid);

list

temp2 = users.orderby(orderby).tolist();

原文:

lamda表示式學習

lamda表示式 格式 形參列表 作用 簡化匿名方法的書寫,可用在任何可使用匿名方法和強型別 的地方 例子 using system using system.collections.generic using system.linq using system.text namespace lamd...

python的lamda表示式

學習python時看到了這個函式 對裡面的lamda表示式產生了疑問。經過一番查詢,對lamda表示式理解如下 lamda看似是表示式,其實是乙個函式,冒號前是傳入的引數,冒號後是表示式,return將返回它的值。可以用來代替乙個簡單的函式,減少 篇幅 例1 def sum x,y return x...

lamda表示式之 orElseGet

未使用orelseget之前的 listresourceitems response.getdata if collectionutils.isnotempty resourceitems return e collect collectors.groupingby resourceitem get...