Lambda表示式對List的處理

2021-06-27 22:44:52 字數 1712 閱讀 7066

忘記是在哪看到的了,很久以前收藏的,現在轉存在這裡

定義乙個employee類:

public class employee 

public string lastname

public decimal salary

public bool ismanager

}

再定義乙個employee的列表:

listemployees = new list( );

1. findall()操作

原始的方法:

foreach (employee employee in employees) 

lambda表示式:

listmanagers = employees.findall(employee => employee.ismanager == true);

2. where()操作

where()和findall()類似,有時候用where能使**更好理解:

foreach (employee employee in employees.where(e => e.ismanager == true)) 

3. find()操作

find()返回列表的第乙個物件:

employee firstmanager = employees.find(employee => employee.ismanager == true); 

if (firstmanager == null)

console.writeline("no managers found in list.");

4. foreach( )操作

employees.foreach(e => e.salary += 100);

5. orderby( )  and  orderbydescending( )操作

orderby()返回乙個公升序排列的list;orderbydescending()返回乙個降序排列的list:

listsortedlist = employees.orderby(e => e.age).tolist();

listsortedlist = employees.orderbydescending(e => e.age).tolist();

6. sort( )

employees.sort((e1, e2) => e1.dob.compareto(e2.dob));

7. getting fancy

public enum sortorder ; 

public static void sort(ref listlist, funcsortkey, sortorder sortorder)

現在可以這樣使用:

employee.sort(employees, e => e.salary, sortorder.ascending);

用 lambda 表示式 對 List 進行排序

listlist new arraylist list.add 4 list.add 6 list.add 3 list.add 5 list.add 1 list.add 2 iterator iterator list.iterator system.out.println 排序前 while ...

lambda表示式 lambda表示式

1.概述 c 11 中的 lambda 表示式用於定義並建立匿名的函式物件,以簡化程式設計工作。lambda 的語法形式如下 函式物件引數 操作符過載函式引數 mutable 或 exception 宣告 返回值型別可以看到,lambda 主要分為五個部分 函式物件引數 操作符過載函式引數 muta...

Lambda表示式轉換List整理

lambda 通用list轉map lambda表示式對list常見轉換整理 基於如下物件進行操作 data lombok 註解,替代get set方法 public class myobject 目標list listmyobjectlist new arraylist 1 獲取物件myobjec...