從很多方面,lambda表示式都可以看作是c# 2的匿名方法的一種演變。匿名方法能做的幾乎一切事情都可以用lambda表示式來完成,而且其更簡潔、易讀。下面是乙個簡單例子。
class film
public int year
}class program
,new film ,
new film ,
new film ,
new film ,
new film ,
new film ,
new film
};actionprint = //建立可重用的列表列印委託
film => console.writeline("name=,year=", film.name, film.year);
films.foreach(print); //列印原始列表
console.writeline("---------------------------------------");
films.findall(film => film.year < 1960).foreach(print);
console.writeline("---------------------------------------");
films.sort((f1, f2) => f1.name.compareto(f2.name));
films.foreach(print);
console.writeline("---------------------------------------");
console.readkey();}}
c in deep 之使用匿名方法的內聯委託操作
匿名方法允許我們指定乙個內聯委託的操作,為建立委託例項表示式的一部分。其可以對 進行極度精簡,當然可讀性變得很差。下面看乙個求平方根的例子。listlist new list list.add 4 list.add 5 list.add 15 list.add 20 list.add 49 list...
使用Action Func和Lambda表示式
在.net在,我們經常使用委託,委託的作用不必多說,在.net 2.0之前,我們在使用委託之前,得自定義乙個委託型別,再使用這個自定義的委託型別定義乙個委託欄位或變數。net 2.0給我們帶來了action func兩個泛型委託,net3.0給我們帶來了lambda,這一切使得委託的定義和使用變得簡...
使用Action Func和Lambda表示式
在.net在,我們經常使用委託,委託的作用不必多說,在.net 2.0之前,我們在使用委託之前,得自定義乙個委託型別,再使用這個自定義的委託型別定義乙個委託欄位或變數。net 2.0給我們帶來了action func兩個泛型委託,net3.0給我們帶來了lambda,這一切使得委託的定義和使用變得簡...