忘記是在哪看到的了,很久以前收藏的,現在轉存在這裡
定義乙個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...