c in deep 之Lambda表示式

2022-01-31 05:33:33 字數 822 閱讀 1948

從很多方面,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,這一切使得委託的定義和使用變得簡...